1. 程式人生 > 實用技巧 >異常03:自定義異常及經驗小結

異常03:自定義異常及經驗小結

  • toString 異常的列印資訊
程式碼示例:
application.java:
package com.exception.Test2;

public class Application {

    //這個是方法
    //可能會存在異常的方法
    static void application(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 {
            application(11);
        } catch (MyException e) {
            //增加一些處理異常的程式碼
            System.out.println("MyException=>" + e);
        }
    }
}


輸出:

傳遞的引數11
MyException=>MyException{11}

程序已結束,退出程式碼 0
MyException.java:
package com.exception.Test2;

//自定義的異常類
public class MyException extends Exception {

    private int detail;

    public MyException(int a) {
        this.detail = a;

    }

    //tostring :  異常的列印資訊  ,Alt + Insert
    @Override
    public String toString() {
        return "MyException{"  + detail + '}';
    }
}

實際應用中的經驗總結:
  • 處理執行異常時,採用邏輯去合理規避同時輔助try-catch處理
  • 在多重catch塊後面,可以加一個catch(Exception)來處理可能會被遺漏的異常
  • 對於不確定的程式碼,也可以加上try-catch,處理潛在的異常
  • 儘量去處理異常,切記只是簡單地呼叫printStackTrace()去列印輸出
  • 具體如何處理異常,要根據不同的業務需求和異常型別去決定
  • 儘量新增finally語句塊去釋放佔用的資源