更新時間:2019-09-03 15:13:00 來源:動力節點 瀏覽2543次
異常分類
異常體系分成:checked(編譯)異常和runtime(運行)和異常。
劃分規則是,RuntimeException和其子類屬于運行異常,異常除了運行異常,其他都是編譯異常。
1.1.運行異常(了解)
runtime異常,顧名思義在編譯時期不被檢測,只有在運行時期才會被檢查出來。
運行異常可以不使用try...catch處理,但一旦出現異常就將由JVM處理(打印堆棧信息)。RuntimeException(運行時異常)通常是指因設計或實現方式不當而導致的問題。程序員小心謹慎是可以避免的異常。如:事先判斷對象是否為null就可以避免NullPointerException異常,事先檢查除數不為0就可以避免ArithmeticException異常。
運行異常特點:
在編譯階段,Java編譯器檢查不出來。一般的,程序可以不用使用try-catch和throws處理運行異常。
1.2.編譯異常(了解)
編譯被檢查異常,顧名思義就是在編譯時期就會被檢測到的異常。除了RuntimeException以及子類以外,其他的Exception及其子類都是編譯異常,有時候也稱之為非runtime異常。
特點:
在編譯階段,Java編譯器會檢查出異常,也就說程序中一旦出現這類異常,要么使用try-catch語句捕獲,要么使用throws語句聲明拋出它,否則編譯就不會通過。
簡而言之:程序要求必須處理編譯異常,使用try-cathc或throws處理。
1.3.自定義異常類(掌握)
一個異常類只表示某一種特定的異常類型,在項目開發中,可能會出現特定的邏輯錯誤,此時開發者可以對這些錯誤進行封裝成異常。比如我們可以定義一個LogicException用于表示業務邏輯異常。
自定義異常的兩種方式,可以繼承Exception類或RuntimeException類。一般推薦繼承RuntimeException類。
繼承異常類之后,一般的,需要提供無參構造方法和帶一個String類型參數的構造器。
定義一個客戶類,表示一個客戶。
定義一個客戶異常,專門表示拋出給用戶看的異常類型。
測試類
本系列教程為動力節點Java基礎內部教材,若要獲得最好的學習效果,需要配合對應教學視頻一起學習。視頻教程:http://www.ilovecolors.com.cn/video.html,希望可以幫助到大家,學習中遇到問題,可登錄官網咨詢在線客服老師。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習