try catch 异常嵌套捕获测试

某日产生错觉,就想写个测试证明 嵌套的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

以上测试打印结果如下:

在这里插入图片描述

你可能感兴趣的:(JAVA,异常,异常处理)