展开全部
public class $ {
public static void main(String[] args) {
try {
Integer.parseInt("a");
} catch (NumberFormatException e) {
System.out.println("1");
e.printStackTrace();
} catch (Exception e) {
System.out.println("2");
e.printStackTrace();
}
}
}
结果是:
1
java.lang.NumberFormatException: For input string: "a"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at org.apache.commons.$.main($.java:8)
看到了吧,catch NumberFormatException 的时候,有输入,32313133353236313431303231363533e58685e5aeb931333332626663catch Exception 的时候没有,原因是:抛出哪个就用哪截获,如果这个没有,就用他的直接父级异常来截获。