关于异常处理的相关问题
当try语句块中有return语句时,fianlly是否会被执行?
:会先执行finall语句块中的语句,然后return.
例如:
public class pro13 {
public static void main(String[] args) {
div(10,1);
System.out.println("c="+method());
}
private static int method() {
int a = 10;
int b = 5;
try {
System.out.println("a="+a);
System.out.println("b="+b);
int c = a/b;
System.out.println("a/b="+c);
return c;
}catch(Exception e) {
//代码测试时可以使用
e.printStackTrace();
}finally {
System.out.println("finally.");
}
return -1;
}
}
结果展示
a=10
b=5
a/b=2
finally.
c=2 returny语句执行
结果分析
从结果中可以看出先是执行了finall语句块中的内容,然后执行的return语句