首頁 > 軟體

Java異常體系非正常停止和分類

2022-06-14 10:00:07

一、異常概念

異常,就是不正常的意思。在生活中:醫生說,你的身體某個部位有異常,該部位和正常相比有點不同,該部位的功能將受影響.在程式中的意思就是:

  • 異常 :指的是程式在執行過程中,出現的非正常的情況,最終會導致JVM的非正常停止。

在Java等物件導向的程式語言中,異常本身是一個類,產生異常就是建立異常物件並丟擲了一個異常物件。Java處理異常的方式是中斷處理。

異常指的並不是語法錯誤,語法錯了,編譯不通過,不會產生位元組碼檔案,根本不能執行.

二、異常體系

異常機制其實是幫助我們找到程式中的問題,異常的根類是java.lang.Throwable,其下有兩個子類:java.lang.Errorjava.lang.Exception,平常所說的異常指java.lang.Exception。 

 Throwable體系:

  • Error:嚴重錯誤Error,無法通過處理的錯誤,只能事先避免,好比絕症。
  • Exception:表示異常,異常產生後程式設計師可以通過程式碼的方式糾正,使程式繼續執行,是必須要處理的。好比感冒、闌尾炎。

Throwable中的常用方法:

  • public void printStackTrace():列印異常的詳細資訊。

包含了異常的型別,異常的原因,還包括異常出現的位置,在開發和偵錯階段,都得使用printStackTrace。

  • public String getMessage():獲取發生異常的原因。

提示給使用者的時候,就提示錯誤原因。

  • public String toString():獲取異常的型別和異常描述資訊(不用)。

出現異常,不要緊張,把異常的簡單類名,拷貝到API中去查。

三、異常分類

我們平常說的異常就是指Exception,因為這類異常一旦出現,我們就要對程式碼進行更正,修復程式。 異常(Exception)的分類:根據在編譯時期還是執行時期去檢查異常?

  • 編譯時期異常:checked異常。在編譯時期,就會檢查,如果沒有處理異常,則編譯失敗。(如日期格式化異常)
  • 執行時期異常:runtime異常。在執行時期,檢查異常.在編譯時期,執行異常不會編譯器檢測(不報錯)。(如數學異常)

四、異常的產生過程解析

先執行下面的程式,程式會產生一個陣列索引越界異常ArrayIndexOfBoundsException。我們通過圖解來解析下異常產生的過程。 工具類

public class ArrayTools {
    // 對給定的陣列通過給定的角標獲取元素。
    public static int getElement(int[] arr, int index) {
        int element = arr[index];
        return element;
    }
}

測試類:

public class ExceptionDemo {
    public static void main(String[] args) {
        int[] arr = { 34, 12, 67 };
        intnum = ArrayTools.getElement(arr, 4)
        System.out.println("num=" + num);
        System.out.println("over");
    }
}

上述程式執行過程圖解: 

到此這篇關於Java異常體系非正常停止和分類的文章就介紹到這了,更多相關Java異常體系 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com