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 个条目)