java Exception 自定義異常類

創建自定義的異常類需要繼承自Exception類,並提供含有一個String類型形參的構造方法,該形參就是一場的描述信息,可以通過getMessage()方法獲得。例如:

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

建立一個抽象德汽車父類,並創建顯示信息的方法getInfo() 

public abstract class Polymorphic102 {
public abstract void getInfo();
}

 分別建立兩個子類(BMW&Benz)繼承父類,並重寫父類的getInfo方法用來打印相關信息:

public class Benz102 extends Polymorphic102 {

	@Override
	public void getInfo() {
		//return "Benz";
		System.out.println("賓利");
	}

}
public class BMW102 extends Polymorphic102 {

	@Override
	public void getInfo() {
//		return "BMW";
		System.out.println("寶馬");
	}

}

編寫測試類進行測試: 

import java.util.Scanner;

public class Test102 {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
      System.out.println("請輸入需要購買的品牌");
      try {//監控異常
		String name = input.nextLine();
		Polymorphic102 car = getCar(name);
		car.getInfo();
			} catch (NullPointerException e) {
      System.out.println("車庫無此類品牌車");
	}
      
      
	}
        //通過創建一個靜態的方法來進行實例化
        //通過throws在類中聲明之前自定義的異常,表示在運行中可能會出現該類異常
        //在本類中不處理該異常,通過調用該方法的對象去監控處理!
	 public static Polymorphic102 getCar(String name)throws NullPointerException{
		   if(name.equalsIgnoreCase("BMW")){
			   return new BMW102();
		   }
		   if(name.equalsIgnoreCase("Benz")){
			   return new Benz102();
		   }
		   else{
                          //拋出異常
			   throw new NullPointerException("車庫無此類品牌車");
		   }
	

}
}

 通過上面例子我們可以實現用戶自行選擇購車功能,當用戶輸入品牌時車庫無此類品牌時就會觸發異常,然後進行處理:

 

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