代码一:
try{
throw new Exception();
}
catch (NullPointerException ee) {
//异常一
System.out.println("11111111111");
}
catch (Exception e) {
//异常二
System.out.println("22222222222");
}
输出结果
22222222222
代码二:
try{
throw new NullPointerException();
}
catch (NullPointerException ee) {
//异常一
System.out.println("11111111111");
}
catch (Exception e) {
//异常二
System.out.println("22222222222");
}
输入结果:
11111111111
如果此时 异常一 里再有异常,且是Exception 的子异常或者Exception异常 不会被异常二捕获到的 而是需要重新try catch 被重新catch的捕获
try{
throw new NullPointerException();
}
catch (NullPointerException ee) {
//异常一
System.out.println("11111111111");
try {
throw new Exception();
} catch (Exception e2) {
// 异常三
System.out.println("33333333333");
}
}
catch (Exception e) {
//异常二
System.out.println("22222222222");
}
输出结果为:
11111111111
33333333333
项目中对异常统一处理,异常三 处要增加 和 异常二 处一样的处理方案 异常三处别忘记添加相应代码