1. 程式人生 > >【總結】Throwable/Error/Exception/RuntimeException區別

【總結】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