1. 程式人生 > 其它 >java 自定義異常(基礎)

java 自定義異常(基礎)

java自定義異常(基礎)

在java語言中允許使用者自定義異常類。自定義異常類不是系統監測到的異常,而是由使用者自己定義的異常。

自定義異常同樣需要try-catch-finally語句捕獲,但必須由使用者自己丟擲異常(throw new MyException)

使用者自定義異常類時,只需要繼承Exception類即可。

步驟:

  1. 建立自定義異常類
  2. 在方法中通過throw關鍵字丟擲異常物件。
  3. 如果在當前丟擲異常的方法中處理異常,可以使用try-catch語句捕獲異常並處理;否則在方法的宣告處通過throws關鍵字指明要丟擲給方法呼叫者的異常,繼續進行下一步操作。
  4. 在出現異常方法的呼叫者中捕獲並處理異常。

程式碼示例

//首先自定義一個異常
package exception.Demo02;
//自定義的異常類
public class MyException  extends Exception {//繼承Exception類
    //傳遞數字>10丟擲異常
    private int detail;

    public MyException(int a) {
        this.detail = a;
    }
//異常的列印資訊     toString
    @Override
    public String toString() {
        return "MyException{" + detail + '}';
    }
}
//寫一個測試類
package exception;
import exception.Demo02.MyException;
public class Test {//方法
    //可能會存在異常的方法
    static void test(int a) throws MyException{//丟擲異常
        System.out.println("傳遞的引數為: "+a);
         if(a>10){
             throw new MyException(a);
         }
        System.out.println("ok");
    }
    public static void main(String[] args) {
        try {
            test(1);
        } catch (Exception e) {
            System.out.println("MyException->"+e);
        }
    }
}

實際應用中的經驗總結(摘自狂神說java)

  1. 處理執行時異常時,採用邏輯去合理規避同時輔助try-catch處理
  2. 在多重catch塊後面,可以加一個catch(Exception)來處理可能會被遺漏的異常。
  3. 對於不確定的程式碼,也可以加上try-catch,處理潛在的異常。
  4. 儘量新增finally語句塊去釋放佔用的資源。

狂神說java