Java異常

1. 簡介

異常類繼承圖

異常
Java的錯誤類( Error)和異常類( Exception)都是 Throwable的子類,基本由這兩大類展開的。

Error

Error這個類一般指的是系統級的錯誤,如OutOfMemoryError(內存溢出)、StackOverflowError(棧溢出)這些錯誤,當出現這些錯誤時基本是系統問題,基本不能經過捕獲去恢復,因此不要求捕獲或聲明。此時能夠由它拋出異常而後記錄下來,過後分析。編程

Exception

Exception其實也分爲兩類異常數組

不受檢查異常(RuntimeException)

不受檢查異常便是RuntimeExceptionRuntimeException的子類,如NullPointerException(空指針異常)、ArrayIndexOutOfBoundsException(數組下標越界異常)、IllegalArgumentException(非法參數異常)。這類異常不要求try catch捕獲或throws聲明拋出,由於出現此類異常一般是因爲代碼問題,若是任由程序運行下去可能會出現意想不到後果,因此不該該捕獲處理試圖恢復。指針

受檢查異常

受檢查異常即除了RuntimeExceptionException類和Exception下的子類,如InterruptedExceptionIOException。出現此類異常必須在編譯前捕獲或聲明拋出,不然編譯不經過。此類異常一般是能夠捕獲並有效處理因此不能忽略。code

2. 注意

  1. 只針對異常的狀況使用異常機制,不該該將他們用於正常的控制流
  2. 對可恢復的狀況使用受檢查異常,對編程錯誤使用運行時異常
  3. 避免沒必要要地使用受檢查異常
  4. 優先使用標準的異常(JDK中的異常)
  5. 不要忽略異常
相關文章
相關標籤/搜索