关于异常一
我们经常会使用 try/catch/finally 语句块。当然, return 关键字使用也是很平常的事,但是不知道大家有没有注意个这样一个问题。当在 try 语句块里面使用 return 语句,在 finally 里面去修改 return 所要返回的内容会出现什么情况。首先,我们知道 return 是结束方法的标志,一旦方法执行到 return 语句就将返回不再往下执行。其次,我们也知道, finally 里面的语句是无论方法怎样执行,最后都要执行 finally 里面的语句。那么究竟是先执行 return 还是 finally 呢?下面通过两个小实验来解决这个问题。 首先看第一个例子 public class TestTryCatch { public static void main(String[] args){ TestTryCatch test = new TestTryCatch(); System.out.println(test.fun()); } public int fun(){ int i = 10; try{ //doing something return i; }catch(Exception e){ return i; }finally{ i = 20; } } } 输出结果: 10 OK ,很简单的一个例子,创建了一个方法 fun ,在方法里使用