-
在try-catch-finally中,finally的做一些收尾性的工作,例如:关闭文件,关闭数据库,关闭网络连接等。
-
我们知道在try-catch-finally中无论try中的代码是否发生异常,finally总会执行,只有一种情况除外,那就是除非jvm关闭或崩溃(关闭jvm,System.exit;),否则finally总是会执行的
-
当finally遇上return的情况,代码执行顺序会如何:
public class Test03 {
public static int div(int a,int b) {
int r = 0;
try {
r = a / b;
return r;
} catch (Exception e) {
System.out.println(e.toString());
return r;
} finally {
System.out.println("我是finally");
}
}
public static void main(String[] args) {
System.out.println(div(10,0));;
System.out.println("程序正常结束!");
}}
通过程序运行发现,当finally遇上return时,程序会暂时跳过return,待执行完finally中的代码,再回来return。