一、自定義異常類
我們知道所有的異常都是Exception,所以我們需要自定義異常只需要繼承那個Exception類就可以了。下面我們自定義一個異常類,代碼如下:
/** * 自定義異常, */ //繼承 Exception public class MyException extends Exception{ public MyException(String message){ //出現異常打印的語句 super(message); } }
二、設計方法,拋出異常
下面我們可以設計一個方法,拋出異常,代碼如下:
public class Student { //顯示拋出異常 ,可以同時拋出多個, //那么,調用此方法的就必須捕獲此異常或者繼續拋出 public void stu(int age) throws MyException,ArithmeticException{ if(age<18){ throw new MyException("靚仔,你年齡不夠"); } System.out.println("歡迎,報名!"); } }
注意拋出異常的格式是在方法后面使用throws關鍵字,可以拋出多個異常使用英文逗號隔開即可。在程序里面我們要求年齡必須是大於18,否則就顯示的拋出異常,在這里使用的關鍵字是throw。拋出我們剛才新建的異常類對象。
三、測試方法
我們在main方法中調用這個方法。由於我們設計的這個方法拋出了異常。所有我們在調用的時候編譯器要求我們必須處理異常。我們有兩種處理方法
1、使用try...catch...捕獲異常
由於方法拋出了兩個異常所以我們兩個都需要捕獲。代碼如下:
public class Run { public static void main(String[] args) { Student student = new Student(); try { student.stu(18); } catch (ArithmeticException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MyException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2、在調用的方法使用throws繼續拋出異常。
我們也需要拋出兩個異常。代碼如下: public class Run { public static void main(String[] args) throws ArithmeticException, MyException { Student student = new Student(); student.stu(18); } }
