Java基礎異常整理(持續更新)
想看更全更多整理請看 http://www.apexyun.com/zui-quan-java/
java.lang
java.lang.ArithmeticException
異常算術條件時丟擲。 例如,“除以零”的整數會丟擲。
java.lang.ArrayIndexOutOfBoundsException
丟擲以表示使用非法索引訪問陣列。 索引為負數或大於或等於陣列的大小。
java.lang.ArrayStoreException
丟擲以表示嘗試將錯誤型別的物件儲存到物件陣列中。 例如,以下程式碼生成一個ArrayStoreException :
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/
聯絡郵箱:[email protected]
(未經同意,請勿轉載)