此问题来自Try-finally block prevents StackOverflowError。
如果我添加一个catch块,为什么捕获块代码永远不会运行?
public static void foo() {
try {
foo();
} catch(StackOverflowError e) {
System.exit(1); // or System.err.println("ouch!"); whatever
} finally {
foo();
}
}
我指的是JLS Chapter 11.1.3 - Asynchronous Exceptions - 这是导致catch块没有机会运行的原因吗?