java異常分類
阿新 • • 發佈:2019-01-27
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.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
一個方法必須通過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 的任何子類,因為這些錯誤可能是再也不會發生的異常條件。