Java異常層次結(jié)構(gòu)

一、什么是Java異常?

Java異常就是代碼編譯和運行中出現(xiàn)的一些特殊情況,通過異常我們可以查找出異常的代碼進(jìn)行修復(fù)。

二、Java的異常層次結(jié)構(gòu)圖:

image.png

Java異常分為Error和Exception兩大類,都繼承自Throwable類,其中Error是編譯和系統(tǒng)錯誤,不允許捕獲;Exception表示標(biāo)準(zhǔn)java庫激發(fā)的異常;Exception又分IOException和RuntimeException兩類。

三、檢查異常和非檢查異常

檢查異常(checked exceptions)和非檢查的異常(unchecked exceptions)。
其中根據(jù)Exception異常進(jìn)行劃分,可分為運行時異常和非運行時異常。
檢查異常:
what:編譯器要求強(qiáng)制去檢查的異常,必須由人工去處理
how:添加try catch/ throws 異常
where:除了Error和RuntimeException及其子類,都屬于檢查異常
比如:IOException,文件操作的時候編譯器強(qiáng)制進(jìn)行異常處理
非檢查異常:
what:編譯器不要求強(qiáng)制處置的異常,及時有可能運行時拋異常,但仍可以通過編譯
why:因為有些異常在編譯期無法捕捉到,比如0做被除數(shù)、或數(shù)組越界等
where:運行時異常RuntimeException及其子類,以及Error類
how:1、捕獲 2、不處理 3、拋出
運行時異常:
RuntimeException及其子類都屬于運行時異常,比如NullPointException、IndexOutOfBoundsException都屬于運行時異常
非運行時異常:
除RuntimeException及其子類和Error類外,其他都屬于非運行時異常,在編碼及編譯階段就應(yīng)該處理的異常,比如IOException、EOFException等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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