在java中尝试捕获最终

2022-09-01 15:51:57

在Java中,如果我们在try-catch-finally的try块中插入一个返回语句,finally块不会被执行吗?


答案 1

唯一不会执行块的时间是当您在到达之前调用时。调用将关闭 JVM,因此不会运行后续代码行。finallyexit()finallyexit()

编辑:这并不完全正确。有关其他信息,请参阅下面的注释。


答案 2

无论您是否返回,最终块都将始终执行,或者在 try 块中引发异常。

另请参见 Java 语言规范的 try-catch-final 执行部分 14.19.2


推荐