1. 程式人生 > >Java受檢異常和非受檢異常

Java受檢異常和非受檢異常

所有異常,都繼承自java.lang.Throwable類。 Throwable有兩個直接子類,Error類和Exception類。 Exception Exception則可使從任何標準Java庫的類方法,自己的方法以及執行時任何異常中丟擲來的基型別。 異常可分為執行異常(RuntimeException)和檢查異常(Checked Exceptions)兩種: RuntimeException RuntimeException在預設情況下會得到自動處理。所以通常用不著捕獲RuntimeException,但在自己的封裝裡,也許仍然要選擇丟擲一部分RuntimeException。 RuntimeException是那些可能在 Java 虛擬機器正常執行期間丟擲的異常的超類。可能在執行方法期間丟擲但未被捕獲的RuntimeException的任何子類都無需在throws子句中進行宣告。(java api) 它是uncheckedExcepiton。 Java.lang.ArithmeticException Java.lang.ArrayStoreExcetpion Java.lang.ClassCastException Java.lang.EnumConstantNotPresentException Java.lang.IllegalArgumentException Java.lang.IllegalThreadStateException Java.lang.NumberFormatException Java.lang.IllegalMonitorStateException Java.lang.IllegalStateException Java.lang.IndexOutOfBoundsException Java.lang.ArrayIndexOutOfBoundsException Java.lang.StringIndexOutOfBoundsException Java.lang.NegativeArraySizeException’ Java.lang.NullPointerException Java.lang.SecurityException Java.lang.TypeNotPresentException Java.lang.UnsupprotedOperationException CheckedException 除了runtimeException以外的異常,都屬於checkedException,它們都在java.lang庫內部定義。Java編譯器要求程式必須捕獲或宣告丟擲這種異常。 一個方法必須通過throws語句在方法的宣告部分說明它可能丟擲但並未捕獲的所有checkedException。 Java.lang.ClassNotFoundException Java.lang.CloneNotSupportedException Java.lang.IllegalAccessException Java.lang.InterruptedException Java.lang.NoSuchFieldException Java.lang.NoSuchMetodException Error 當程式發生不可控這種錯誤時,通常的做法是通知使用者並中止程式的執行。 與異常不同的是Error及其子類的物件不應被丟擲。 Error 是 Throwable 的子類,代表編譯時間和系統錯誤,用於指示合理的應用程式不應該試圖捕獲的嚴重問題。大多數這樣的錯誤都是異常條件。雖然 ThreadDeath 錯誤是一個“正規”的條件,但它也是 Error 的子類,因為大多數應用程式都不應該試圖捕獲它。 在執行該方法期間,無需在其 throws 子句中宣告可能丟擲但是未能捕獲的 Error 的任何子類,因為這些錯誤可能是再也不會發生的異常條件。 它是uncheckedExcepiton。 --------------------- 本文來自 做了三件小事 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/nlznlz/article/details/53271045?utm_source=copy