在 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 许可协议
8 回答6.6k 阅读
4 回答724 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答975 阅读✓ 已解决
唯一一次
finally
块不会被执行是当你调用exit()
之前finally
达到。exit()
调用将关闭 JVM,因此不会运行后续代码行。编辑:这不完全正确。有关更多信息,请参阅下面的评论。