Java基礎異常整理(持續更新)


想看更全更多整理請看 http://www.apexyun.comjava


java.lang

java.lang.ArithmeticException數組

異常算術條件時拋出。 例如,「除以零」的整數會拋出。安全

java.lang.ArrayIndexOutOfBoundsException函數

拋出以表示使用非法索引訪問數組。 索引爲負數或大於或等於數組的大小。spa

java.lang.ArrayStoreException線程

拋出以表示嘗試將錯誤類型的對象存儲到對象數組中。 例如,如下代碼生成一個ArrayStoreException :orm

Object x[] = new String[3];對象

x[0] = new Integer(0);遞歸

java.lang.ClassCastException索引

拋出表示代碼嘗試將對象轉換爲不屬於實例的子類。 例如,如下代碼生成一個ClassCastException :

Object x = new Integer(0);

System.out.println((String)x);

java.lang.ClassNotFoundException

當應用程序嘗試經過其名稱加載類時拋出:

• Class.forName方法 。

• ClassLoader.findSystemClass方法。

• ClassLoader.loadClass方法。

可是沒有找到指定名稱的類的定義。

java.lang. CloneNotSupportedException

對象的類未實現Cloneable接口。覆蓋clone方法的應用程序也能夠拋出此異常以指示對象沒法或不該被克隆。

java.lang. EnumConstantNotPresentException

當應用程序嘗試經過名稱訪問枚舉常量時拋出,枚舉類型不包含指定名稱的常量。

java.lang. IllegalAccessException

當應用程序嘗試反射建立實例(數組除外),設置或獲取字段或調用方法時,當前執行的方法沒法訪問指定類,字段的定義,方法或構造函數。會拋出IllegalAccessException。

java.lang. IllegalArgumentException

拋出表示方法傳入了非法或不正確的參數。

java.lang. IllegalMonitorStateException

線程嘗試在對象的監視器上wait或notify,卻沒有擁有指定的監視器。

java.lang. IllegalStateException

表示在非法或不適當的時間調用了一種方法。 換句話說,Java環境或Java應用程序對於請求的操做並不處於適當的狀態。

java.lang. IllegalThreadStateException

拋出以指示線程處於所請求操做的不適當狀態。

java.lang. IndexOutOfBoundsException

拋出以表示某種索引(例如數組,字符串或向量)的索引超出範圍。

應用程序能夠將此類子類化以指示相似的異常。

java.lang. InstantiationException

當應用程序嘗試使用newInstance方法建立類的實例時拋出,但指定的類對象不能被實例化。 實例化可能因爲各類緣由而失敗,包括但不限於:

• 類對象表示抽象類,接口

• 該類沒有空值構造函數

java.lang. InterruptedException

被停止異常。當某個線程處於長時間的等待、休眠或其餘暫停狀態,而此時其餘的線程經過Thread的interrupt方法終止該線程時拋出該異常。

java.lang. NegativeArraySizeException

一個應用程序嘗試建立一個負數大小的數組拋出。

java.lang. NoSuchFieldException

表示該類沒有指定的字段。

java.lang. NoSuchMethodException

當沒法找到特定方法時拋出。

java.lang. NullPointerException

當應用程序嘗試在須要對象的狀況下爲null時拋出。

java.lang. NumberFormatException

將字符串轉換爲數字,格式錯誤。

java.lang. ReflectiveOperationException

核心反射中的反射操做所引發的異常的常見超類。

java.lang. RuntimeException

RuntimeException是在Java虛擬機的正常操做期間能夠拋出的那些異常的超類。

RuntimeException及其子類是未經檢查的異常 。 unchecked異常不須要在方法或構造函數throws。

java.lang. SecurityException

由安全管理器拋出,表示安全違規。

java.lang. StringIndexOutOfBoundsException

索引爲負或大於字符串的大小。對於某些方法(如charAt方法)。

java.lang. TypeNotPresentException

使用表示類型名稱的字符串訪問類型時沒有找到類型的定義拋出。此異常不一樣於ClassNotFoundException在ClassNotFoundException是檢查的異常,而此異常是未經檢查的。

java.lang. UnsupportedOperationException

拋出以表示不支持的操做。


java.lang. AbstractMethodError

當應用程序嘗試調用抽象方法時拋出。

java.lang. AssertionError

拋出以代表斷言失敗。

java.lang. BootstrapMethodError

未找到其引導方法。

java.lang. ClassCircularityError

當Java虛擬機檢測到正在加載的類的超類層次結構中的循環性時拋出。

java.lang. ClassFormatError

當Java虛擬機嘗試讀取類文件並肯定文件格式不正確或不能解釋爲類文件時拋出。

java.lang. ExceptionInInitializerError

表示在靜態初始化程序中發生意外異常。

java.lang. IllegalAccessError

若是應用程序嘗試訪問或修改某個字段,或調用沒法訪問的方法,則拋出此異常。

java.lang. IncompatibleClassChangeError

當一些類定義發生不兼容的類更改時拋出。 當前執行方法所依賴的某些類的定義已經改變了。

java.lang. InstantiationError

當應用程序嘗試使用Java new構造來實例化抽象類或接口時拋出。

java.lang. InternalError

在Java虛擬機中引起了一些意外的內部錯誤。

java.lang. LinkageError

一個類對另外一個類有依賴,然後期運行時依賴的類發生變化致使異常。

java.lang. NoClassDefFoundError

Java虛擬機在編譯時能找到類定義,而在運行時找不到致使的錯誤。

java.lang. NoSuchFieldError

Java虛擬機在編譯時能找到field,而在運行時找不到致使的錯誤。

java.lang. NoSuchMethodError

Java虛擬機在編譯時能找到方法(靜態或實例),而在運行時找不到。

java.lang. OutOfMemoryError

當Java虛擬機因爲內存不足而沒法分配對象時拋出。

java.lang. StackOverflowError

在程序棧空間耗盡時拋出,一般是深度遞歸致使。

java.lang. UnsupportedClassVersionError

類的版本號不對。一般是因爲高版本JDK編譯在低版本JVM運行致使。

java.lang. VerifyError

Java虛擬機編譯的時候,」校驗器"檢測到一個類文件雖然格式正確,但包含着一些內部不一致性或安全性問題時,拋出該錯誤。

java.lang. VirtualMachineError

拋出以代表Java虛擬機已損壞或已耗盡資源。


更多文章歡迎訪問 http://www.apexyun.com/

聯繫郵箱:public@space-explore.com

(未經贊成,請勿轉載)

相關文章
相關標籤/搜索