首頁技術(shù)文章正文

Java中常見的異常類型有哪些?

更新時間:2021-11-12 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

   
在實際開發(fā)中,經(jīng)常會在程序編譯時期產(chǎn)生一些異常,而這些異常必須要進(jìn)行處理,這種異常被稱為編譯時期異常,也稱為checked異常。另外還有一種異常是在程序運行時期產(chǎn)生的,這種異常即使不編寫異常處理代碼,依然可以通過編譯,因此我們稱之為運行時異常,也稱為unchecked異常。接下來分別對這兩種異常進(jìn)行詳細(xì)講解。

1.編譯時異常

在Exception的子類中,除了RuntimeException類及其子類外,其他子類都是編譯時異常。編譯時異常的特點是在程序編寫過程中,Java編譯器就會對編寫的代碼進(jìn)行檢查,如果出現(xiàn)比較明顯的異常就必須對異常進(jìn)行處理,否則程序無法通過編譯。處理編譯時異常有兩種方式,具體如下:

·使用try…catch語句對異常進(jìn)行捕獲處理。

·使用throws關(guān)鍵字聲明拋出異常,讓調(diào)用者對其處理。

2.運行時異常

RuntimeException類及其子類都是運行時異常。運行時異常是在程序運行時由Java虛擬機自動進(jìn)行捕獲處理的,即使沒有使用try…catch語句捕獲或使用throws關(guān)鍵字聲明拋出,程序也能編譯通過,只是在運行過程中可能報錯。

在Java中,常見的運行時異常有多種,如表4-4所示。

表4-4常見運行時異常

1636687055626_常見運行異常.png


運行時異常一般是由于程序中的邏輯錯誤引起的,在程序運行時無法恢復(fù)。例如通過數(shù)組的角標(biāo)訪問數(shù)組的元素時,如果超過了數(shù)組的最大角標(biāo),就會發(fā)生運行時異常,代碼示例如下:

int [ ] arr=new int[5];
System.out.println (arr[5]);

上面代碼中,由于數(shù)組arr的長度為5,最大角標(biāo)應(yīng)為4,當(dāng)使用arr[5]訪問數(shù)組中的元素就會發(fā)生數(shù)組角標(biāo)越界的異常。






猜你喜歡:

Java中用戶如何自定義異常?【案例演示】

Java程序異常處理之try…catch和finally[黑馬程序員]

try-except語句與else子句聯(lián)合使用處理可能出現(xiàn)的程序異常

黑馬程序員java后端開發(fā)工程師培訓(xùn)

分享到:
在線咨詢 我要報名
和我們在線交談!