Java異常和錯(cuò)誤

未經(jīng)檢查的異常 說(shuō)明
ArithmeticException 算術(shù)錯(cuò)誤,如被0除
ArrayIndexOutOfBoundsException 數(shù)組下標(biāo)出界
ArrayStoreException 數(shù)組元素賦值類(lèi)型不兼容
ClassCastException 非法強(qiáng)制轉(zhuǎn)換類(lèi)型
EnumConstantNotPresentException 枚舉常量不存在異常。當(dāng)應(yīng)用試圖通過(guò)名稱(chēng)和枚舉類(lèi)型訪問(wèn)一個(gè)枚舉對(duì)象,但該枚舉對(duì)象并不包含常量時(shí),拋出該異常。
EOFException 文件已結(jié)束異常
Exception 根異常。用以描述應(yīng)用程序希望捕獲的情況。
FileNotFoundException 文件未找到異常
IllegalArgumentException 調(diào)用方法的參數(shù)非法
IllegalMonitorStateException 非法監(jiān)控操作,如等待一個(gè)未鎖定線程
IllegalStateException 環(huán)境或應(yīng)用狀態(tài)不正確
IllegalThreadStateException 請(qǐng)求操作與當(dāng)前線程狀態(tài)不兼容
IndexOutOfBoundsException 某些類(lèi)型索引越界
IOException 輸入輸出異常
NegativeArrayException 數(shù)組負(fù)下標(biāo)異常
NegativeArraySizeException 數(shù)組大小為負(fù)值異常。當(dāng)使用負(fù)數(shù)大小值創(chuàng)建數(shù)組時(shí)拋出該異常。
NullPointerException 非法使用空引用
NumberFormatException 字符串到數(shù)字格式非法轉(zhuǎn)換
RuntimeException 運(yùn)行時(shí)異常。是所有Java虛擬機(jī)正常操作期間可以被拋出的異常的父類(lèi)。
SecurityException 試圖違反安全性
SQLException 操作數(shù)據(jù)庫(kù)異常
StringIndexOutOfBoundsException 試圖在字符串邊界之外索引
TypeNotPresentException 類(lèi)型不存在異常。當(dāng)應(yīng)用試圖以某個(gè)類(lèi)型名稱(chēng)的字符串表達(dá)方式訪問(wèn)該類(lèi)型,但是根據(jù)給定的名稱(chēng)又找不到該類(lèi)型是拋出該異常。該異常與ClassNotFoundException的區(qū)別在于該異常是unchecked(不被檢查)異常,而ClassNotFoundException是checked(被檢查)異常。
UnsupportedOperationException 遇到不支持的操作
檢查的異常 說(shuō)明
ClassNotFoundException 找不到類(lèi)
CloneNotSupportedException 試圖克隆一個(gè)不能實(shí)現(xiàn)Cloneable接口的對(duì)象
IllegalAccessException 對(duì)一個(gè)類(lèi)的訪問(wèn)被拒絕
InstantiationException 試圖創(chuàng)建一個(gè)抽象類(lèi)或者抽象接口的對(duì)象
InterruptedException 一個(gè)線程被另一個(gè)線程中斷
NoSuchFieldException 請(qǐng)求的字段不存在
NoSuchMethodException 請(qǐng)求的方法不存在
錯(cuò)誤 說(shuō)明
java.lang.AbstractMethodError 抽象方法錯(cuò)誤。當(dāng)應(yīng)用試圖調(diào)用抽象方法時(shí)拋出。
java.lang.AssertionError 斷言錯(cuò)。用來(lái)指示一個(gè)斷言失敗的情況。
java.lang.ClassCircularityError 類(lèi)循環(huán)依賴(lài)錯(cuò)誤。在初始化一個(gè)類(lèi)時(shí),若檢測(cè)到類(lèi)之間循環(huán)依賴(lài)則拋出該異常。
java.lang.ClassFormatError 類(lèi)格式錯(cuò)誤。當(dāng)Java虛擬機(jī)試圖從一個(gè)文件中讀取Java類(lèi),而檢測(cè)到該文件的內(nèi)容不符合類(lèi)的有效格式時(shí)拋出。
java.lang.Error 錯(cuò)誤。是所有錯(cuò)誤的基類(lèi),用于標(biāo)識(shí)嚴(yán)重的程序運(yùn)行問(wèn)題。這些問(wèn)題通常描述一些不應(yīng)被應(yīng)用程序捕獲的反常情況。
java.lang.ExceptionInInitializerError 初始化程序錯(cuò)誤。當(dāng)執(zhí)行一個(gè)類(lèi)的靜態(tài)初始化程序的過(guò)程中,發(fā)生了異常時(shí)拋出。靜態(tài)初始化程序是指直接包含于類(lèi)中的static語(yǔ)句段。
java.lang.IllegalAccessError 違法訪問(wèn)錯(cuò)誤。當(dāng)一個(gè)應(yīng)用試圖訪問(wèn)、修改某個(gè)類(lèi)的域(Field)或者調(diào)用其方法,但是又違反域或方法的可見(jiàn)性聲明,則拋出該異常。
java.lang.IncompatibleClassChangeError 不兼容的類(lèi)變化錯(cuò)誤。當(dāng)正在執(zhí)行的方法所依賴(lài)的類(lèi)定義發(fā)生了不兼容的改變時(shí),拋出該異常。一般在修改了應(yīng)用中的某些類(lèi)的聲明定義而沒(méi)有對(duì)整個(gè)應(yīng)用重新編譯而直接運(yùn)行的情況下,容易引發(fā)該錯(cuò)誤。
java.lang.InstantiationError 實(shí)例化錯(cuò)誤。當(dāng)一個(gè)應(yīng)用試圖通過(guò)Java的new操作符構(gòu)造一個(gè)抽象類(lèi)或者接口時(shí)拋出該異常.
java.lang.InternalError 內(nèi)部錯(cuò)誤。用于指示Java虛擬機(jī)發(fā)生了內(nèi)部錯(cuò)誤。
java.lang.LinkageError 鏈接錯(cuò)誤。該錯(cuò)誤及其所有子類(lèi)指示某個(gè)類(lèi)依賴(lài)于另外一些類(lèi),在該類(lèi)編譯之后,被依賴(lài)的類(lèi)改變了其類(lèi)定義而沒(méi)有重新編譯所有的類(lèi),進(jìn)而引發(fā)錯(cuò)誤的情況。
java.lang.NoClassDefFoundError 未找到類(lèi)定義錯(cuò)誤。當(dāng)Java虛擬機(jī)或者類(lèi)裝載器試圖實(shí)例化某個(gè)類(lèi),而找不到該類(lèi)的定義時(shí)拋出該錯(cuò)誤。
java.lang.NoSuchFieldError 域不存在錯(cuò)誤。當(dāng)應(yīng)用試圖訪問(wèn)或者修改某類(lèi)的某個(gè)域,而該類(lèi)的定義中沒(méi)有該域的定義時(shí)拋出該錯(cuò)誤。
java.lang.NoSuchMethodError 方法不存在錯(cuò)誤。當(dāng)應(yīng)用試圖調(diào)用某類(lèi)的某個(gè)方法,而該類(lèi)的定義中沒(méi)有該方法的定義時(shí)拋出該錯(cuò)誤。
java.lang.OutOfMemoryError 內(nèi)存不足錯(cuò)誤。當(dāng)可用內(nèi)存不足以讓Java虛擬機(jī)分配給一個(gè)對(duì)象時(shí)拋出該錯(cuò)誤。
java.lang.StackOverflowError 堆棧溢出錯(cuò)誤。當(dāng)一個(gè)應(yīng)用遞歸調(diào)用的層次太深而導(dǎo)致堆棧溢出時(shí)拋出該錯(cuò)誤。
java.lang.UnknownError 未知錯(cuò)誤。用于指示Java虛擬機(jī)發(fā)生了未知嚴(yán)重錯(cuò)誤的情況。
java.lang.UnsatisfiedLinkError 未滿(mǎn)足的鏈接錯(cuò)誤。當(dāng)Java虛擬機(jī)未找到某個(gè)類(lèi)的聲明為native方法的本機(jī)語(yǔ)言定義時(shí)拋出。
java.lang.UnsupportedClassVersionError 不支持的類(lèi)版本錯(cuò)誤。當(dāng)Java虛擬機(jī)試圖從讀取某個(gè)類(lèi)文件,但是發(fā)現(xiàn)該文件的主、次版本號(hào)不被當(dāng)前Java虛擬機(jī)支持的時(shí)候,拋出該錯(cuò)誤。
java.lang.VerifyError 驗(yàn)證錯(cuò)誤。當(dāng)驗(yàn)證器檢測(cè)到某個(gè)類(lèi)文件中存在內(nèi)部不兼容或者安全問(wèn)題時(shí)拋出該錯(cuò)誤。
java.lang.VirtualMachineError 虛擬機(jī)錯(cuò)誤。用于指示虛擬機(jī)被破壞或者繼續(xù)執(zhí)行操作所需的資源不足的情況。
java.lang.ThreadDeath 線程結(jié)束。當(dāng)調(diào)用Thread類(lèi)的stop方法時(shí)拋出該錯(cuò)誤,用于指示線程結(jié)束。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容