RuntimeException 和 Exception 区别、异常的子父级关系
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
1.java 將所有的錯誤封裝為一個對象,其根本父類為Throwable, 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如下:
Runtime?Exception:?
在定義方法時不需要聲明會拋出runtime exception; 在調用這個方法時不需要捕獲這個runtime exception; runtime exception是從java.lang.RuntimeException 或java.lang.Error類衍生出來的。 例如:nullpointexception,IndexOutOfBoundsException就屬于runtime exception 。
Exception:
定義方法時必須聲明所有可能會拋出的exception; 在調用這個方法時,必須捕獲它的checked exception,不然就得把它的exception傳遞下去;exception是從 java.lang.Exception類衍生出來的。例如:IOException,SQLException就屬于Exception
?
Exception 屬于應用程序級別的異常,這類異常必須捕捉,Exception體系包括RuntimeException體系和其他非RuntimeException的體系
RuntimeException?表示系統異常,比較嚴重,如果出現RuntimeException,那么一定是程序員的錯誤
?
6.什么是unchecked異常?
即RuntimeException(運行時異常)
不需要try...catch...或throws 機制去處理的異常
?
?
轉自:https://www.cnblogs.com/jtlgb/p/5985120.html
?
?
?
總結
以上是生活随笔為你收集整理的RuntimeException 和 Exception 区别、异常的子父级关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs中c#的项目配置,平台配置
- 下一篇: MyBatis : Mapper 接口