【发布时间】:2013-11-01 05:13:45
【问题描述】:
我知道即使代码抛出异常或成功完成,finally 块也会执行,现在我怀疑是这段代码
返回 40
这很明显,但现在如果我
评论返回40;
返回 10
谁能帮我理解 JVM 如何返回 10 为什么它不会抱怨说函数应该返回一个值。
public class ExceptionTest {
public static void main(String[] args) {
int i= returnSomething();
System.out.println(i);
}
private static int returnSomething() {
try{
System.out.println("try");
return 10;
}
catch(Exception e)
{
return 20;
}
finally
{
System.out.println("finally ");
return 40;
}
}
}
【问题讨论】:
-
你可以看看这个question。它可能会消除您的所有疑虑!