Java的每日記 - 異常

一.異常的概念

異常就是沒有按照正常的預期產生結果.是一種可能性.

Java中的異常:方法在運行時發生的不正常情況。

注意:編譯出錯不是異常。(通俗點來說就是你代碼打錯了);

二.異常的結構

Throwable
│————Exception (異常);
│  	  ├-IOException (流異常,通常用在文件讀取中);
│  	  └-RuntimeException (運行時異常,表示你的代碼本身存在問題);
│	 	 
│ 	 
└————Error (錯誤)

三.異常的處理方式

//1.拋出異常 throws 對應的異常 例如:
public static void main(String[] args) throws FileNotFoundException {
    System.out.println("邏輯代碼1");
    showFile();
    System.out.println("邏輯代碼2");
}

public static void showFile() throws FileNotFoundException {
    System.out.println("邏輯代碼3");
    FileInputStream fis = new FileInputStream(new File("a.txt"));
    System.out.println("邏輯代碼4");
}
//2.捕獲異常 try{可能有異常的代碼}catch(異常類型){處理異常}finally{//異常處理的統一出口,不管是否有異常、是否處理了異常都會執行}
public static void main(String[] args) {
    int[] arr = null;//{10,20,30};
    showArr(arr);
}

public static  void showArr(int[] arr){
    try {
        System.out.println(arr[1]);

    }catch (NullPointerException ex){
        System.out.println("出現了空指針異常 開始處理");
        System.out.println("已經處理");
    }finally {
        System.out.println("處理結束");
    }

    System.out.println("邏輯代碼1 ");
    System.out.println("邏輯代碼2 ");
    System.out.println("......");
}

四.自定義異常

使用場景:系統給的異常不能滿足我們的應用的時候 可以採用自定義異常;

使用步驟:①創建一個類繼承自Exception 或者 RuntimeException

                  ②可以提供有參構造方法和無參構造方法

                  ③在合適的時機進行使用

注意事項:當子類重寫父類方法時,子類方法所聲明的異常類型必須包含在父類方法所聲明異常之內。實現接口也是如此;

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