異常
外觀
| 導航 異常 主題: |
| 主題: |
在編譯時捕獲錯誤的最佳時機是在您嘗試執行程式之前。但是,並非所有錯誤都可以在編譯時檢測到。其餘問題必須在執行時透過某種形式來處理,這種形式允許錯誤的起源者將適當的資訊傳遞給接收者,接收者將知道如何正確處理該問題。
改進的錯誤恢復是增強程式碼健壯性的最有效方法之一。錯誤恢復是您編寫的每個程式的基本關注點,但在 Java 中尤其重要,因為 Java 的主要目標之一是為其他人建立程式元件。要建立健壯的系統,每個元件都必須健壯。透過使用異常提供一致的錯誤報告模型,Java 允許元件可靠地將問題傳達給客戶端程式碼。
在 Java 中,有兩種主要的程式碼執行流程。
- 正常的順序程式碼執行,程式按照預期執行。
- 異常處理程式碼執行,主程式流程因錯誤或其他條件而中斷,這些錯誤或條件阻止了正常順序程式碼執行的繼續。
- 異常
- 異常是 Java 的錯誤處理方式。每當發生意外情況時,都會丟擲一個異常,並使用異常物件作為引數。這意味著正常的程式控制流停止,並開始搜尋
catch塊。如果沒有在當前方法級別找到,則搜尋將繼續在呼叫者方法級別進行,直到找到匹配的catch塊。如果沒有找到,則異常將由 JVM 處理,通常會導致 Java 程式終止。
- 異常物件
- 這是作為錯誤的引數“丟擲”並傳遞給
catch塊的物件。異常物件封裝了有關錯誤位置及其性質的資訊。所有 Exception 物件必須繼承自java.lang.Throwable。請參閱下面的 UML 圖。
圖 6.1:Java 異常類
|
- 匹配規則
- 丟擲的異常物件可以被
catch關鍵字捕獲,並指定異常物件的類或其超類。
- 命名約定
- 將 Exception 新增到所有異常類是一種很好的做法。異常的名稱應該有意義,並且應該代表問題。例如,
CustomerNotFoundException可能表示未找到客戶。
