Java中的Exception異常 自定義異常

Exception類是java中所有異常類的父類,比如我們經常見到的NullPointerException所繼承的父類RuntimeException就是繼承於Exception,Exception類有四個構造方法,子異常類在繼承Exception類後,可以自由選擇調用其中的哪個構造方法,四個構造方法分別如:

構造方法摘要
Exception()
構造詳細消息爲 null 的新異常。
 
Exception(String message)
構造帶指定詳細消息的新異常。
 
Exception(String message, Throwable cause)
構造帶指定詳細消息和原因的新異常。
 
Exception(Throwable cause)
根據指定的原因和 (cause==null ? null : cause.toString()) 的詳細消息構造新異常(它通常包含 cause 的類和詳細消息)。
拋出和捕獲異常:
4.1、把異常交給JVM處理:
public class ExceptionTest {

    public static void execute() throws Exception {
        System.out.println("execute...");
        throw new Exception();
    }

    public static void main(String[] args) throws Exception {
        execute();
    }
}
4.2、或者使用try catch語句塊捕獲異常:
public class ExceptionTest {

    public static void execute() throws Exception {
        System.out.println("execute...");
        throw new Exception();
    }

    public static void main(String[] args) {
        try {
            execute();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }
}

 

異常使用注意事項:

當使用多個catch語句塊來捕獲異常時,需要將父類的catch語句塊放到子類型的catch塊之後,這樣才能保證後續的catch可能被執行,否則子類型的catch將永遠無法到達,Java編譯器會報編譯錯誤。

如果try語句塊中存在return語句,那麼首先會執行finally語句塊中的代碼,然後才返回。

如果try語句塊中存在System.exit(0)語句,那麼久不會執行finally語句塊的代碼了,因爲System.exit(0)會終止當前運行的JVM。程序在JVM終止前結束執行。

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