自定義異常類。
一、第一種定義方式,繼承Exception類
public class MyFirstException extends Exception {
public MyFirstException() {
super();
}
public MyFirstException(String msg) {
super(msg);
}
public MyFirstException(String msg, Throwable cause) {
super(msg, cause);
}
public MyFirstException(Throwable cause) {
super(cause);
}
//自定義異常類的主要作用是區分異常發生的位置,當用戶遇到
//異常時,根據異常名就可以知道哪裏有異常,根據異常提示信
//息進行修改。
}
|
|
二、 第二種定義方式:繼承Throwable 類 public class MySecondException extends Throwable { public MySecondException() { super(); } public MySecondException(String msg) { super(msg); } public MySecondException(String msg, Throwable cause) { super(msg, cause); } public MySecondException(Throwable cause) { super(cause); } } 三、測試 /** * 自定義異常類的使用 * @author new * */ public class TestMyException { public static void firstException() throws MyFirstException{ throw new MyFirstException("\"firstException()\" method occurs an exception!"); } public static void secondException() throws MySecondException{ throw new MySecondException("\"secondException()\" method occurs an exception!"); } public static void main(String[] args) { try { TestMyException.firstException(); TestMyException.secondException(); } catch (MyFirstException e1){ System.out.println("Exception: " + e1.getMessage()); e1.printStackTrace(); } catch (MySecondException e2){ System.out.println("Exception: " + e2.getMessage()); e2.printStackTrace(); } //當一個try塊後面跟着多個catch塊時,如果發生的異常匹配第一個catch塊的參數,便將異常處理權利交給第一個catch塊。 //如果發生的異常與第一個catch塊不匹配,便看是否與第二個catch塊匹配,依次下去,如果到最後依然無法匹配該異常, //便需要在方法聲明中添加一條throw語句,將該異常拋出。 //因此,在有多個catch塊,而且每次處理的異常類型具有繼承關係時,應該首先catch子類異常,再catch父類異常。 //比如,如果MySecondException繼承MyFirstException,那麼最好將catch (MySecondException e2)放在前面, //把catch (MyFirstException e1)放在後面。 } } 異常處理方式:
|
java自定義異常
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.