java中的異常(Exception)
阿新 • • 發佈:2022-03-11
基本概念
-
將程式執行中發生的不正常的情況稱為“異常”。開發中的語法錯誤和邏輯錯誤不是異常
執行過程中的異常事件可分為兩大類
- 錯誤(Error):Java虛擬機器無法解決的嚴重問題。例如:JVM系統記憶體錯誤,資源耗盡等嚴重問題
- Exception:其他因為程式設計錯誤或偶爾的外在因素導致的一般性
- 可以針對不同的程式碼進行處理
Exection有(編譯異常[編譯時,編譯器查找出的異常]和執行異常[開發時,執行時])
異常體系圖
異常體系圖總結
- 一般分為兩大類,一種是編譯時異常,一種是執行時異常
- 執行時異常編譯器檢查不出來。一般是指編譯時邏輯錯誤 ,是程式設計師應該避免其異常
- 對於執行時異常可以不做處理,因為這類異常很普遍,若全處理可能會對程式的可讀性,執行效率產生影響
- 編譯時異常,是編譯器要求必須處理的異常
常見的執行時異常
- Null Pointer Exception 空指標異常 : 指還沒有建立物件就想使用,會丟擲空指標異常,當應用程式在需要物件的地方使用null時,會丟擲異常
- Airthmetic Exception 數學運算異常:會出現異常的運算條件時丟擲異常。例如一個整數除零時會丟擲異常
- ArrayIndex OutOfBounds Exception 陣列下標越界異常:陣列下標越界異常,用非法索引訪問陣列時丟擲異常。如果索引為負或大於等於陣列大小則所因為非法索引。
- Class cast Excetion 型別轉換異常:當試圖將物件強制轉換為不是例項的子類時,會丟擲異常
- Number Format Excetion 數字格式不正確異常:當應用程式試圖將字串轉成一種數值型別,但該字串不能轉換為適當格式,丟擲異常
編譯異常
- 編譯異常就是指編譯階段,就必須處理的異常,否則程式碼不能通過編譯
- 常見的編譯異常
異常處理
- 異常處理就是在異常發生時,對異常處理的方式
- 異常處理的方式
- 理解
-
try-catch-finally 執行順序小結
throws 異常處理
throws和throw的區別