java.lang.Error
錯誤。是所有錯誤的基類,用于標識嚴重的程序運行問題。這些問題通常描述一些不應被應用程序捕獲的反常情況。
一、源碼部分
//繼承了java.lang.Throwable
public class Error extends Throwable {//適用于java序列化機制,過判斷類的serialVersionUID來驗證的版本一致的static final long serialVersionUID = 4980196508277280342L;//構造一個錯誤的詳細信息,可通過調用initCause來初始化,默認值為nullpublic Error() {super();}//使用指定的詳細信息消息構造新錯誤。public Error(String message) {super(message);}//使用指定的詳細信息和原因構造新錯誤。public Error(String message, Throwable cause) {super(message, cause);}//使用指定的原因構造新錯誤。public Error(Throwable cause) {super(cause);}//使用指定的詳細信息消息、原因、啟用或禁用禁止顯示以及啟用或禁用可寫堆棧跟蹤來構造新錯誤。protected Error(String message, Throwable cause,boolean enableSuppression,boolean writableStackTrace) {super(message, cause, enableSuppression, writableStackTrace);}
}
二、Java中常見的錯誤
1、java.lang.Error
錯誤。是所有錯誤的基類,用于標識嚴重的程序運行問題。這些問題通常描述一些不應被應用程序捕獲的反常情況。
2、java.lang.AbstractMethodError
抽象方法錯誤。當應用試圖調用抽象方法時拋出。
3、java.lang.Asserti
斷言錯。用來指示一個斷言失敗的情況。
4、java.lang.ClassCircularityError
類循環依賴錯誤。在初始化一個類時,若檢測到類之間循環依賴則拋出該異常。
5、java.lang.ClassFormatError
類格式錯誤。當Java虛擬機試圖從一個文件中讀取Java類,而檢測到該文件的內容不符合類的有效格式時拋出。
6、java.lang.ExceptionInInitializerError
初始化程序錯誤。當執行一個類的靜態初始化程序的過程中,發生了異常時拋出。靜態初始化程序是指直接包含于類中的static語句段。
7、java.lang.IllegalAccessError
違法訪問錯誤。當一個應用試圖訪問、修改某個類的域(Field)或者調用其方法,但是又違反域或方法的可見性聲明,則拋出該異常。
8、java.lang.IncompatibleClassChangeError
不兼容的類變化錯誤。當正在執行的方法所依賴的類定義發生了不兼容的改變時,拋出該異常。一般在修改了應用中的某些類的聲明定義而沒有對整個應用重新編譯而直接運行的情況下,容易引發該錯誤。
9、java.lang.Instantiati
實例化錯誤。當一個應用試圖通過Java的new操作符構造一個抽象類或者接口時拋出該異常.
10、java.lang.InternalError
內部錯誤。用于指示Java虛擬機發生了內部錯誤。
11、java.lang.LinkageError
鏈接錯誤。該錯誤及其所有子類指示某個類依賴于另外一些類,在該類編譯之后,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發錯誤的情況。
12、java.lang.NoClassDefFoundError
未找到類定義錯誤。當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤。
13、java.lang.NoSuchFieldError
域不存在錯誤。當應用試圖訪問或者修改某類的某個域,而該類的定義中沒有該域的定義時拋出該錯誤。
14、java.lang.NoSuchMethodError
方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。
15、java.lang.OutOfMemoryError
內存不足錯誤。當可用內存不足以讓Java虛擬機分配給一個對象時拋出該錯誤。
16、java.lang.StackOverflowError
堆棧溢出錯誤。當一個應用遞歸調用的層次太深而導致堆棧溢出時拋出該錯誤。
17、java.lang.ThreadDeath
線程結束。當調用Thread類的stop方法時拋出該錯誤,用于指示線程結束。
18、java.lang.UnknownError
未知錯誤。用于指示Java虛擬機發生了未知嚴重錯誤的情況。
19、java.lang.UnsatisfiedLinkError
未滿足的鏈接錯誤。當Java虛擬機未找到某個類的聲明為native方法的本機語言定義時拋出。
20、java.lang.UnsupportedClassVersi
不支持的類版本錯誤。當Java虛擬機試圖從讀取某個類文件,但是發現該文件的主、次版本號不被當前Java虛擬機支持的時候,拋出該錯誤。
21、java.lang.VerifyError
驗證錯誤。當驗證器檢測到某個類文件中存在內部不兼容或者安全問題時拋出該錯誤。
22、java.lang.VirtualMachineError
虛擬機錯誤。用于指示虛擬機被破壞或者繼續執行操作所需的資源不足的情況。