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();
}
}
}
谁能解释这段代码的输出?java try-catch-finally递归问题
1.输出基于Eclipse(无尽的)客户端模式:
try try .... ... ... tryfinallyfinally tryfinallyfinally try try try tryfinallyfinally tryfinallyfinally try tryfinallyfinally tryfinallyfinally try .... ....
在Linux 2.输出(崩溃)服务器模式:
try try ... ... try try try try try try MISSING EXCEPTION HANDLER for pc 0x00002aaaab1c53f0 and handler bci -1 Exception: Compiled exception table : ExceptionHandlerTable (size = 3304 bytes) catch_pco = 700 (1 entries) bci -1 at scope depth 0 -> pco 11039 catch_pco = 1736 (1 entries) bci -1 at scope depth 0 -> pco 11473 catch_pco = 1756 (1 entries) bci -1 at scope depth 0 -> pco 11433 catch_pco = 1776 (1 entries)
***谁能解释这段代码的输出?***:可能是**你**。你运行这个时得到了什么? –
...计算器 – MarcoS
输出确实是意外: 尝试 尝试 尝试 tryfinallyfinally tryfinallyfinally 尝试 tryfinallyfinally tryfinallyfinally 尝试 尝试 tryfinallyfinally tryfinallyfinally 尝试 tryfinallyfinally tryfinallyfinally 尝试 尝试 尝试 试 –