java – 为什么捕获异常在捕获NPE异常后不会被打印

try {
     String x = null;
     int y = x.length();
} catch (NullPointerException npe) {
     System.out.println("NPE Exception ");
} catch (Exception e) {
     System.out.println("Exception ");
}

上面的代码只在输出中打印“NPE Exception”而不是“NPE Exception Exception”.任何人都可以解释为NPE是一种RunTimeException,我们知道RunTimeException是Exception类的子类型吗?

最佳答案
任何Throwable只被捕获一次,第一个可以处理异常的catch块

转载注明原文:java – 为什么捕获异常在捕获NPE异常后不会被打印 - 代码日志