Effective Java之对可恢复的情况使用受检异常,对编程错误使用运行时异常(五十八)
java將所有的錯誤封裝為一個對象,其根本父類為Throwable, Throwable有兩個子類:Error和Exception。
異常分成三種結構
1.錯誤:Error是Throwable 的子類,用于指示合理的應用程序不應該試圖捕獲的嚴重問題。
在執行該方法期間,無需在其 throws 子句中聲明可能拋出但是未能捕獲的 Error的任何子類,因為這些錯誤可能是再也不會發生的異常條件。
大多數這樣的錯誤都是異常條件。
2.運行時異常:RuntimeException是那些可能在 Java 虛擬機正常運行期間拋出的異常的超類。
可能在執行方法期間拋出但未被捕獲的RuntimeException 的任何子類都無需在 throws 子句中進行聲明。它是Exception的子類。
運行時異常和錯誤統稱為未受檢結構,運行時異常又叫未受檢異常。
未受檢結構的行為都是等同的,都是不需要也不應該拋出的,因為如果程序拋出了未受檢異?;蛘咤e誤,說明是不可恢復的異常,繼續下去有害無益。
但是,他們的區別是runtimeException一般是編程錯誤,error一般是系統的錯誤。
3.受檢異常:Exception類及其子類是 Throwable 的一種形式,它指出了合理的應用程序想要捕獲的條件。
定義方法時必須聲明所有可能會拋出的exception; 在調用這個方法時,必須捕獲它的checked exception,不然就得把它的exception傳遞下去;exception是從java.lang.Exception類衍生出來的。例如:IOException,SQLException就屬于Exception
總結
以上是生活随笔為你收集整理的Effective Java之对可恢复的情况使用受检异常,对编程错误使用运行时异常(五十八)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Effective Java之谨慎地使用
- 下一篇: Effective Java之避免使用受