更新時間:2019-10-07 來源:黑馬程序員 瀏覽量:
在實際開發(fā)中,經(jīng)常會在程序編譯時產(chǎn)生一些異常,而這些異常必須要進行處理,這種異常被稱為編譯時異常,也稱為checked異常。另外還有一種異常是在程序運行時產(chǎn)生的,這種異常即使不編寫異常處理代碼,依然可以通過編譯,因此稱為運行時異常,也稱為unchecked異常。接下來就分別對這兩種異常進行詳細的講解。
1、編譯時異常
在Java中, Exception類中除了 RuntimeException類及其子類都是編譯時異常。編譯時異常的特點是Java編譯器會對其進行檢查,如果出現(xiàn)異常就必須對異常進行處理,否則程序無法通過編譯。
處理編譯時期的異常有兩種方式,具體如下:
(1)使用try…catch語句對異常進行捕獲。
(2) 使用throws關(guān)鍵字聲明拋出異常,調(diào)用者對其處理。
2、運行時異常
RuntimeException類及其子類都是運行時異常。運行時異常的特點是Java編譯器不會對其進行檢查,也就是說,當程序中出現(xiàn)這類異常時,即使沒有使用try…catch語句捕獲或使用throws關(guān)鍵字聲明拋出,程序也能編譯通過。運行時異常一般是由程序中的邏輯錯誤引起的,在程序運行時無法恢復(fù)。比如通過數(shù)組的角標訪問數(shù)組的元素時,如果超過了數(shù)組的最大角標,就會發(fā)生運行時異常,代碼如下所示:
int [] arr=new int[5]; System.out.println(arr[6]);
上面代碼中,由于數(shù)組arr的 length為5,最大角標應(yīng)為4,當使用arr[6]訪問數(shù)組中的元素就會發(fā)生數(shù)組角標越界的異常。
以上我們介紹了“Java編譯異常與運行異?!毕M麑δ兴鶐椭?strong>如果想了深入學(xué)習(xí)java知識請點擊頁面咨詢按鈕了解,黑馬程序員java課程詳情。
【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)5個工作日就業(yè)率98.18%,最高薪資 17.5k*13薪,全班平均薪資9244元
2025-09-19