Java異常和錯誤

未經檢查的異常 說明
ArithmeticException 算術錯誤,如被0除
ArrayIndexOutOfBoundsException 數組下標出界
ArrayStoreException 數組元素賦值類型不兼容
ClassCastException 非法強制轉換類型
EnumConstantNotPresentException 枚舉常量不存在異常。當應用試圖經過名稱和枚舉類型訪問一個枚舉對象,但該枚舉對象並不包含常量時,拋出該異常。
EOFException 文件已結束異常
Exception 根異常。用以描述應用程序但願捕獲的狀況。
FileNotFoundException 文件未找到異常
IllegalArgumentException 調用方法的參數非法
IllegalMonitorStateException 非法監控操做,如等待一個未鎖定線程
IllegalStateException 環境或應用狀態不正確
IllegalThreadStateException 請求操做與當前線程狀態不兼容
IndexOutOfBoundsException 某些類型索引越界
IOException 輸入輸出異常
NegativeArrayException 數組負下標異常
NegativeArraySizeException 數組大小爲負值異常。當使用負數大小值建立數組時拋出該異常。
NullPointerException 非法使用空引用
NumberFormatException 字符串到數字格式非法轉換
RuntimeException 運行時異常。是全部Java虛擬機正常操做期間能夠被拋出的異常的父類。
SecurityException 試圖違反安全性
SQLException 操做數據庫異常
StringIndexOutOfBoundsException 試圖在字符串邊界以外索引
TypeNotPresentException 類型不存在異常。當應用試圖以某個類型名稱的字符串表達方式訪問該類型,可是根據給定的名稱又找不到該類型是拋出該異常。該異常與ClassNotFoundException的區別在於該異常是unchecked(不被檢查)異常,而ClassNotFoundException是checked(被檢查)異常。
UnsupportedOperationException 遇到不支持的操做
檢查的異常 說明
ClassNotFoundException 找不到類
CloneNotSupportedException 試圖克隆一個不能實現Cloneable接口的對象
IllegalAccessException 對一個類的訪問被拒絕
InstantiationException 試圖建立一個抽象類或者抽象接口的對象
InterruptedException 一個線程被另外一個線程中斷
NoSuchFieldException 請求的字段不存在
NoSuchMethodException 請求的方法不存在
錯誤 說明
java.lang.AbstractMethodError 抽象方法錯誤。當應用試圖調用抽象方法時拋出。
java.lang.AssertionError 斷言錯。用來指示一個斷言失敗的狀況。
java.lang.ClassCircularityError 類循環依賴錯誤。在初始化一個類時,若檢測到類之間循環依賴則拋出該異常。
java.lang.ClassFormatError 類格式錯誤。當Java虛擬機試圖從一個文件中讀取Java類,而檢測到該文件的內容不符合類的有效格式時拋出。
java.lang.Error 錯誤。是全部錯誤的基類,用於標識嚴重的程序運行問題。這些問題一般描述一些不該被應用程序捕獲的反常狀況。
java.lang.ExceptionInInitializerError 初始化程序錯誤。當執行一個類的靜態初始化程序的過程當中,發生了異常時拋出。靜態初始化程序是指直接包含於類中的static語句段。
java.lang.IllegalAccessError 違法訪問錯誤。當一個應用試圖訪問、修改某個類的域(Field)或者調用其方法,可是又違反域或方法的可見性聲明,則拋出該異常。
java.lang.IncompatibleClassChangeError 不兼容的類變化錯誤。當正在執行的方法所依賴的類定義發生了不兼容的改變時,拋出該異常。通常在修改了應用中的某些類的聲明定義而沒有對整個應用從新編譯而直接運行的狀況下,容易引起該錯誤。
java.lang.InstantiationError 實例化錯誤。當一個應用試圖經過Java的new操做符構造一個抽象類或者接口時拋出該異常.
java.lang.InternalError 內部錯誤。用於指示Java虛擬機發生了內部錯誤。
java.lang.LinkageError 連接錯誤。該錯誤及其全部子類指示某個類依賴於另一些類,在該類編譯以後,被依賴的類改變了其類定義而沒有從新編譯全部的類,進而引起錯誤的狀況。
java.lang.NoClassDefFoundError 未找到類定義錯誤。當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤。
java.lang.NoSuchFieldError 域不存在錯誤。當應用試圖訪問或者修改某類的某個域,而該類的定義中沒有該域的定義時拋出該錯誤。
java.lang.NoSuchMethodError 方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。
java.lang.OutOfMemoryError 內存不足錯誤。當可用內存不足以讓Java虛擬機分配給一個對象時拋出該錯誤。
java.lang.StackOverflowError 堆棧溢出錯誤。當一個應用遞歸調用的層次太深而致使堆棧溢出時拋出該錯誤。
java.lang.UnknownError 未知錯誤。用於指示Java虛擬機發生了未知嚴重錯誤的狀況。
java.lang.UnsatisfiedLinkError 未知足的連接錯誤。當Java虛擬機未找到某個類的聲明爲native方法的本機語言定義時拋出。
java.lang.UnsupportedClassVersionError 不支持的類版本錯誤。當Java虛擬機試圖從讀取某個類文件,可是發現該文件的主、次版本號不被當前Java虛擬機支持的時候,拋出該錯誤。
java.lang.VerifyError 驗證錯誤。當驗證器檢測到某個類文件中存在內部不兼容或者安全問題時拋出該錯誤。
java.lang.VirtualMachineError 虛擬機錯誤。用於指示虛擬機被破壞或者繼續執行操做所需的資源不足的狀況。
java.lang.ThreadDeath 線程結束。當調用Thread類的stop方法時拋出該錯誤,用於指示線程結束。
相關文章
相關標籤/搜索