try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
finaly 会执行,在 return 之前执行。
参考:《Java 核心技术卷1》
望采纳,谢谢。
举个例子:
public static int test() {
try {
int a = 1/ 0;
return 1;
} catch (Exception e) {
return 2;
} finally {
System.out.println("finally");
return 3;
}
}
//最后输出finally和返回3
public static int test() {
try {
int a = 1/ 0;
return 1;
} catch (Exception e) {
return 2;
} finally {
System.out.println("finally");
}
}
//最后输出finally和返回2
public static int test() {
try {
int a = 1/ 1;
return 1;
} catch (Exception e) {
return 2;
} finally {
System.out.println("finally");
}
}
//最后输出finally和返回1