【发布时间】:2019-05-08 23:49:51
【问题描述】:
下面是我关于简单 finally 块的示例。
public class Ex2 {
public static void main(String args[]) throws ArithmeticException {
System.out.println(Ex2.myTestingFuncn());
}
public static int myTestingFuncn() {
try {
// first execution
return 5;
} finally {
// second execution
System.out.println("finally");
}
}
}
这个结果是
finally
5
符合预期。
但是当这种情况发生时,finally 块会覆盖 try 块的值。
try {
// first execution
return 5;
} finally {
// second execution
return 12;
}
结果:12
这是怎么发生的?我的意思是这些块的执行顺序是什么?
请帮忙。
谢谢
【问题讨论】:
-
This question 可能会有所帮助
标签: java try-finally