下面是Java異常類的組織結(jié)構(gòu),紅色區(qū)域的異常類表示是程序需要顯示捕捉或者拋出的。
image
Throwable
Throwable是Java異常的頂級類,所有的異常都繼承于這個類。
Error,Exception是異常類的兩個大分類。
Error
Error是非程序異常,即程序不能捕獲的異常,一般是編譯或者系統(tǒng)性的錯誤,如OutOfMemorry內(nèi)存溢出異常等。
Exception
Exception是程序異常類,由程序內(nèi)部產(chǎn)生。Exception又分為運行時異常、非運行時異常。
運行時異常
運行時異常的特點是Java編譯器不會檢查它,也就是說,當(dāng)程序中可能出現(xiàn)這類異常,即使沒有用try-catch語句捕獲它,也沒有用throws子句聲明拋出它,也會編譯通過,運行時異??商幚砘蛘卟惶幚怼_\行時異常一般常出來定義系統(tǒng)的自定義異常,業(yè)務(wù)根據(jù)自定義異常做出不同的處理。
常見的運行時異常如NullPointException、ArrayIndexOutOfBoundsException等。
非運行時異常
非運行時異常是程序必須進行處理的異常,捕獲或者拋出,如果不處理程序就不能編譯通過。如常見的IOException、ClassNotFoundException等。