【總結】Throwable/Error/Exception/RuntimeException區別
【總結】Throwable/Error/Exception/RuntimeException區別
1.JAVA是將所有的錯誤封裝為一個物件,其根本父類為Throwable,有兩個子類:Error和Exception。
2.Error是Throwable 的子類,用於指示合理的應用程式不應該試圖捕獲的嚴重問題。大多數這樣的錯誤都是異常條件。雖然ThreadDeath錯誤是一個“正規”的條件,但它也是 Error 的子類,因為大多數應用程式都不應該試圖捕獲它。在執行該方法期間,無需在其 throws 子句中宣告可能丟擲但是未能捕獲的 Error的任何子類,因為這些錯誤可能是再也不會發生的異常條件。
3.Exception類及其子類是 Throwable 的一種形式,它指出了合理的應用程式想要捕獲的條件。
4.RuntimeException是那些可能在 Java 虛擬機器正常執行期間丟擲的異常的超類。可能在執行方法期間丟擲但未被捕獲的RuntimeException 的任何子類都無需在 throws 子句中進行宣告。它是Exception的子類。
5.異常的分類
Error:一般為底層的不可恢復的類;
Exception:分為未檢查異常(RuntimeException)和已檢查異常(非RuntimeException)。
未檢查異常是因為程式設計師沒有進行必需要的檢查,因為疏忽和錯誤而引起的錯誤。
幾個常見的RunTimeException:
java.lang.NullPointerException;
java.lang.ArithmaticException;
java.lang.ArrayIndexoutofBoundsException;
6.異常的處理方法
A.throws,直接往上一層丟擲異常;
B.try{}catch;
C.finally;
參考資料:
https://blog.csdn.net/liuj2511981/article/details/8524418(程式碼案例說明,可查閱此篇部落格)
------------------------------------------------------
------------------------------------------------------
期望和大家一起學習,共同進步,共勉
歡迎交流問題,可加個人QQ 469580884
或者,加我的群號 751925591,一起探討交流問題
不講虛的,只做實幹家
Talk is cheap,show me the code