某日产生错觉,就想写个测试证明 嵌套的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
以上测试打印结果如下: