是否有可能无法执行finally块?

Gur*_*lki 8 java exception

我们知道无论是抛出异常,还是捕获和处理异常,finally块都会被执行,所以我很好奇有可能finally块不会被执行.

如果在try或catch中调用System.exit(),那么finally也会被调用吗?

Dan*_*llo 22

如果JVM在执行trycatch代码时退出,则该finally块可能无法执行.同样,如果执行trycatch代码的线程被中断或终止,finally即使应用程序作为一个整体继续,该块也可能不会执行.

来源:java.sun.com:Java教程:最后一块


msw*_*msw 6

System.exit()将阻止finally块执行.