千鋒逆戰班,異常習題②

在千鋒學習的第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種方法的聲明類型不是父類中的聲明異常類型子類,把聲明的類型改成其本身,或者其子類就可

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