A在没有被捕获的情况下被RuntimeException抛出,而子句调用.tryfinallySystem.exit()
public static void main(String[] args) {
try {
Integer.valueOf("NotANumber");
} finally {
System.out.println("finally");
System.exit(0);
}
}
输出是
finally
如果System.exit(0)从 finally 中删除,则输出为
finally
Exception in thread "main" java.lang.NumberFormatException: For input string: "NotANumber"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.valueOf(Integer.java:554)
at exception.MyExcepTest.main(MyExcepTest.java:20)
“finally”可能出现在. 的消息之前、之后或之间NumberFormatException。
谁能解释一下?