gpt4 book ai didi

java - catch 和 finally 中 return 语句的行为

转载 作者:IT老高 更新时间:2023-10-28 13:51:51 25 4
gpt4 key购买 nike

请查看以下代码并解释输出行为。

public class MyFinalTest {

public int doMethod(){
try{
throw new Exception();
}
catch(Exception ex){
return 5;
}
finally{
return 10;
}
}

public static void main(String[] args) {

MyFinalTest testEx = new MyFinalTest();
int rVal = testEx.doMethod();
System.out.println("The return Val : "+rVal);
}

}

结果是返回 Val : 10。

Eclipse 显示警告:finally block 未正常完成.

catch block 中的 return 语句会发生什么?

最佳答案

它被 finally 中的那个覆盖,因为 finally 是在其他所有内容之后执行的。

这就是为什么,一个经验法则 - 永远不要从 finally 返回。例如,Eclipse 显示该片段的警告:“finally block 未正常完成”

关于java - catch 和 finally 中 return 语句的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5701793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com