在實際工作中,異常處理的準則

m53469發表於2021-09-09

在開發應用程式的時候,異常處理是非常的重要的,我找到一些異常處理準則,將它共享出來,如有不同意見,歡迎提出來一起探討。

1、決不“catch”一個Exception,卻什麼也不處理。如果您隱藏了異常,你永遠不會知道是否發生過異常。

2、如果產生Exception,給使用者提供一個友好的資訊,但記錄與有關錯誤的所有可能的細節,包括它的發生時間,方法和類的名字等實際的錯誤資訊。

3、始終捕獲特定的異常,而不是一般的異常和系統異常。

4、你可以有一個應用程式級(執行緒級)的錯誤處理程式,您可以用它處理所有一般異常。在一個'意外一般錯誤''中,這個錯誤處理程式應該捕獲該異常並記錄他,除此之外,在應用程式關閉之前應該做出友好的資訊提示或者允許使用者選擇忽略異常繼續。

5、不要在所有的方法中寫的try - catch。只在有可能有某個特定的異常發生的方法中使用它。例如,如果你是一個檔案讀寫操作,只需處理FileIOException。

6、不寫非常大的try - catch塊。如果需要,為您執行每個任務編寫單獨的try - catch程式,在try - catch中只有一段特定的程式碼。這將幫助你找到哪一段程式碼產生的異常,你可以給特定的錯誤資訊給使用者。

7、如果在你的應用需要,你可以寫自己的自定義異常類。自定義異常不要繼承SystemException基類。相反,繼承ApplicationException。

8、當發生異常時,為了確保清理佔據的資源,使用try / finally塊。在finally子句中關閉的資源。使用try / finally塊,即使發生異常,也能確保資源disposed。

10、當顯示錯誤資訊時,除了告訴什麼是錯誤,該訊息還應該告訴使用者 ,不是“無法更新資料庫。”,而是建議使用者應怎樣做:“無法更新資料庫。請確保登入ID和密碼是正確的。”

11、顯示簡短和友好的資訊給使用者。但要盡一切可能的記錄實際的錯誤日誌資訊。這將有助於診斷問題。

12、在Global.asax中定義一個全域性錯誤處理程式來捕獲任何未在程式碼中處理異常。你應該在事件日誌中記錄所有的異常追蹤和隨後進行分析。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2819/viewspace-2799943/,如需轉載,請註明出處,否則將追究法律責任。