Java异常未被捕获

19 浏览
0 Comments

Java异常未被捕获

为什么Java中的一些异常无法被catch (Exception ex)捕获?这段代码完全失败,出现了一个未处理的异常。(Java版本1.4)。

public static void main(String[] args) {
    try {
        //代码...
    } catch (Exception ex) {
        System.err.println("捕获到异常");
        ex.printStackTrace();
        exitCode = app.FAILURE_EXIT_CODE;
    }
    finally {
        app.shutdown();
    }
    System.exit(exitCode);
}

我得到了一个Exception in thread "main" java.lang.NoSuchMethodError

但是这段代码可以工作:

public static void main(String[] args) {
    int exitCode = app.SUCCESS_EXIT_CODE;
    try {
        //代码...
    } catch (java.lang.NoSuchMethodError mex){
        System.err.println("捕获到NoSuchMethodError");
        mex.printStackTrace();
        exitCode = app.FAILURE_EXIT_CODE;
    } catch (Exception ex) {
        System.err.println("捕获到异常");
        ex.printStackTrace();
        exitCode = app.FAILURE_EXIT_CODE;
    }
    finally {
        app.shutdown();
    }
    System.exit(exitCode);
}

我得到了Caught NoSuchMethodError java.lang.NoSuchMethodError:

我以为捕获异常可以捕获所有异常?我该如何在Java中捕获所有异常?

0