FINALLY简述
程序员文章站
2024-03-20 18:24:22
...
1、概述
A:不管用没有出现异常,finally都会执行。
B:当try与catch中有return时,finally仍会执行。
C:finally是在return(在try、catch中出现的return)之后执行,但不会影响到返回的结果。
* return表达式的结果,会先保存,执行完finally后,再返回。
D:finally最好不要出现return,否则会提前返回,返回的不是保存的值。
2、举例
A:返回值情况
private static int tmp(){
int a = 1;
int b = 2;
try {
return a + b; //将a+b的结果保存,执行finally,再将保存的结果返回。
} catch (Exception e) {
}finally{
a = 2; //并不会影响返回值
}
return 1;
}
public static void main(String[] args) {
System.out.println(tmp()); //结果为 3
}
B:提前结束情况
private static int tmp(){
int a = 1;
int b = 2;
try {
return a + b; //将a+b的结果保存,执行finally,再将保存的结果返回。
} catch (Exception e) {
}finally{
return 0; //遇到return直接返回。
}
}
public static void main(String[] args) {
System.out.println(tmp()); //结果为 0
}
上一篇: 后台建议登录验证