來源:Medium 這篇文章將幫助您更了解如何在 Java 中有效地處理異常。 處理 Java 異常可能具有挑戰性。確定要處理哪些 Java 異常、要重新拋出哪些異常以及要忽略哪些異常可能很困難。但是,有許多有用的指南可以有效地幫助您處理異常並建立新的應用程式。讓我們來認識一下他們吧。
- 小心你記錄的內容。
- 不要忽略拋出的異常。
- 使用全域異常處理程序。
- 不要手動關閉資源。
- 儘早拋出並稍後處理異常。
- Java 異常不應被記錄並重新引發。
- 檢查抑制的異常。
- 在 throw 語句中,準確地聲明異常。
- 首先處理最明顯的異常。
- 使用現代異常處理語意。
1. 小心你記錄的內容
軟體開發人員應始終了解客戶的安全和隱私權。- Java 程式可以將資料移至其他系統,大量的開發人員和管理員可以使用它(包括修復錯誤)。
- 如果日誌檔案中記錄了任何敏感數據,您的公司將不符合安全要求,您可能會失去工作。
2. 不要忽略拋出的異常
不要捕獲異常然後忽略它。在 Java 中隱藏異常並不是處理異常的好方法。至少寫下異常的名稱和關聯的訊息。這樣,就可以在您的條目中找到有關該問題的資訊。由於隱藏異常而調試 Java 應用程式非常困難。3.使用全域異常處理程序
在程式執行期間,總是會出現一些程式碼中先前未捕獲的異常。因此,始終添加一個全域異常處理程序來處理未捕獲的異常。這不僅允許記錄和處理異常,而且還可以防止在運行時拋出異常時應用程式崩潰。4.不要手動關閉資源
處理 Java 異常時的另一個重要建議是允許 JVM對正在關閉的資源呼叫close()方法。不要嘗試自己關閉它們。這可以透過初始化try-resources模組內的資源來輕鬆實現。語意:public class TryWithResourcesExample {
public static void main(String[] args) throws Exception {
try (Door door = new Door()) {
door.swing();
} catch (Exception e) { ..... }
} finally { .....}
}
}
正如您所看到的,在 try...catch 區塊完成後,JVM 會為您關閉資源,從而消除了複雜且難以修復的資源洩漏的可能性。
5. 儘早拋出並稍後處理異常
每當程式碼中出現異常狀況時,就會引發異常。不要等待任何程式碼行執行後再退出您所在的方法。捕獲異常時,函數必須放在方法的末尾。這減少了方法中的catch區塊的數量,使程式碼更易於閱讀和維護。6. Java異常不應該被記錄和重新拋出
如果發生異常,請執行下列其中一項操作:- 在記錄異常的同時繼續使用您的程式。
- 再次引發異常並允許採用不同的方式記錄資料。
try {
Class.forName("com.min.Example");
} catch (ClassNotFoundException ex) {
log.warning("Class was not found.");
throw ex;
}
這會導致程式碼重複和日誌檔案被重複條目堵塞,從而使診斷代碼變得更加困難。
GO TO FULL VERSION