某日产生错觉,就想写个测试证明 嵌套的try catch使用时,内层catch抛出异常能被外出catch到,进行try中不会进行下一步
public class ExceptionTest{
public static void main(String[] args) {
try {
innerFun1();
innerFun2();
}catch(Exception e) {
System.out.println("=========外层方法异常=========");
System.out.println("Messgae" + e.getMessage());
}
}
public static void innerFun1() {
try {
System.out.println("*********内部方法1执行*********");
int k = 10/0;
}catch(Exception e){
System.out.println("=========内部方法异常1=========");
throw new DataException("内部方法1抛出异常");
}
}
public static void innerFun2() {
try {
System.out.println("*********内部方法2执行*********");
int k = 10/0;
}catch(Exception e){
System.out.println("=========内部方法异常2=========");
throw new DataException("内部方法2抛出异常");
}
}
}
DataException 是自定义的运行异常 此处略过
public class DataException extends RuntimeException
以上测试打印结果如下: