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

Ade*_*har 3 java

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

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

Kum*_*nav 7

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