千锋逆战班,异常习题②

在千锋学习的第27天
努力努力在努力,坚持坚持再坚持!!!加油
今天我学习了异常的方法重写,自定义异常

在这里插入图片描述

package ques5;

public class Test5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}


//已检查异常

class MyException1 extends Exception{
	
	public MyException1(){}
	
	public MyException1(String message){
		super(message);
		
	}
	
	
}

//运行时异常
class MyException2 extends RuntimeException{
	
	public MyException2(){}
	
	public MyException2(String message){
		super(message);
		
	}
	
	
}

在这里插入图片描述

package ques5;

public class Test5 {

	public static void main(String[] args) {
		int n=2 ;
		try{
			m(n);
		}catch(MyException1 ex1){
			
			System.out.println(ex1.getMessage());
			
			ex1.printStackTrace();
		}catch(MyException2 ex2){
			
			System.out.println(ex2.getMessage());
			throw ex2;
		}
		
		

	}
	public static void m(int n) throws MyException1{
		if(n == 1){
			throw new MyException1("n == 1");
		}else{
			throw new MyException2("n==2");
		}
	}
}


//已检查异常

class MyException1 extends Exception{
	
	public MyException1(){}
	
	public MyException1(String message){
		super(message);
		
	}
	
	
}

//运行时异常
class MyException2 extends RuntimeException{
	
	public MyException2(){}
	
	public MyException2(String message){
		super(message);
		
	}
	
	
}

在这里插入图片描述
1出填写AB 2出填写D

异常声明方法重写,子类方法的异常声明类型必须要和父类方法异常声明类型一致或者其子类,如果父类或实现的接口中方法没有声明异常,子类或实现类重写的方法也不能有任何异常声明,子类方法可以声明多个异常(符合前面规定的)中间用逗号隔开就可以

在这里插入图片描述
不能,MySub2种方法的声明类型不是父类中的声明异常类型子类,把声明的类型改成其本身,或者其子类就可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章