Java中的異常被分為兩大類:編譯時異常和運行時異常。
- 都是RuntimeException類及其子類異常,如NullPointerException、IndexOutOfBoundsException。這些異常是不檢查異常,運行時異常的特點是Java編譯器不會檢查它,程序中可以選擇捕獲處理,也可以不處理。這些異常一般是由程序邏輯錯誤引起的,可以從邏輯角度出發去處理,盡可能避免這類異常的發生。
- 編譯異常 (非運行時異常):是RuntimeException以外的異常,從程序語法角度講是必須進行處理的異常,如果不處理,程序就不能編譯通過。如IOException、SQLException等以及用戶自定義的Exception異常,一般情況下不自定義檢查異常。
淺談Java異常及其編譯時異常和運行時異常的區別[通俗易懂]-騰訊云開發者社區-騰訊云 (tencent.com)