我知道即使代码抛出异常或者它成功完成,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;
}
}
}