運行時異常、非運行時異常、錯誤

異常的層次結構

在這裏插入圖片描述

Throwable有兩個子類,error和exception。

Error(錯誤)

是程序無法處理的錯誤,表示運行應用程序中較嚴重的問題。大多數錯誤與代碼編寫者的操作無關,而是代碼運行時JVM(Java虛擬機)出現的問題。

Exception(異常)

是程序本身可以處理的異常。

運行時異常與非運行時異常的區別
運行時異常runtimeException,這些異常時不檢查異常,程序中可以選擇捕獲這些異常處理,也可以選擇不捕獲處理,這些異常一般是由程序邏輯錯誤引起的,程序應該從邏輯角度儘量避免此類異常的發生。出現運行時異常後,如果沒有捕獲處理此異常,系統會把異常一層層往上拋,一直到最上層,如果是多線程,就由Thread.run()方法拋出;如果是單線程就由main()方法拋出。拋出之後如果輸線程,則線程也就退出了,
非運行時異常
運行時異常以外的所有異常,如IOException和SQLException,以及用戶自己定義的一些異常,這種異常編譯器強制要求我們對其進行處理,要麼捕獲,要麼拋出,否則程序就不能編譯通過。

常見的runtimeException

NullPointerException–空指針異常
ClassCastException–類型轉換異常
ArrayIndexOutOfBoundsException–數組下標越界
ClassNotFoundException–找不到指定的類
NumberFormatException–數字格式異常
SQLException–SQL語句執行異常
IOException–文件未找到,未打開或者io操作不能進行的異常
Exception–
Exception–

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