public class Foo {
public static void main(String[] args) {
foo();
}
public static void foo() {
try {
System.out.println("try");
foo();
} catch (Throwable e) {
System.out.println("catch");
foo();
} finally {
System.out.println("finally");
foo();
}
}
}
谁能解释这段代码的输出?
1.eclipse(无尽)客户端模式下的输出:
尝试
尝试
……
...
...
最后尝试
最后尝试
尝试
尝试
尝试
最后尝试
最后尝试
尝试
最后尝试
最后尝试
尝试
……
……
2.linux(崩溃)服务器模式下的输出:
尝试
尝试
...
...
尝试
尝试
尝试
尝试
尝试
尝试
pc 0x00002aaaab1c53f0 和处理程序 bci -1 的缺少异常处理程序
例外:
编译异常表:
ExceptionHandlerTable(大小 = 3304 字节)
catch_pco = 700(1 个条目)
bci -1 在范围深度 0 -> pco 11039
catch_pco = 1736 (1 个条目)
bci -1 在范围深度 0 -> pco 11473
catch_pco = 1756 (1 个条目)
bci -1 在范围深度 0 -> pco 11433
catch_pco = 1776 (1 个条目)