在 Java 中,如果我们在 try-catch-finally 的 try 块中插入 return 语句,finally 块不会执行吗?
原文由 Nikhil 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Java 中,如果我们在 try-catch-finally 的 try 块中插入 return 语句,finally 块不会执行吗?
原文由 Nikhil 发布,翻译遵循 CC BY-SA 4.0 许可协议
无论您是否返回,finally 块都会始终执行,或者在 try 块中抛出异常。
另见 Java Language Specification 的 14.19.2 Execution of try-catch-finally 部分
原文由 stacker 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.2k 阅读
8 回答5.9k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.1k 阅读✓ 已解决
唯一一次
finally
块不会被执行是当你调用exit()
之前finally
达到。exit()
调用将关闭 JVM,因此不会运行后续代码行。编辑:这不完全正确。有关更多信息,请参阅下面的评论。