0

我一直在嘗試閱讀更多關於如何正確捕捉/處理異常的內容,但我不認爲我已經把它解決了。事實上,我認爲我越來越困惑,並可能實施錯誤的代碼。我不想這樣做。這是一個適當的異常處理的有效例子嗎?

,我一直在使用設置示例:

  1. 移動設備,使該WCF服務的調用。
  2. WCF服務從數據庫中檢索數據,並且如果在數據庫級別發生任何錯誤,它們將被記錄下來併發送一封電子郵件。
  3. WCF服務向移動設備發送數據(或異常的簡要說明)。
  4. 移動設備處理數據,如果發生任何錯誤,則將錯誤引發至UI層。

對於一些例外,我創建了自定義的 - 服務異常,授權異常,所以我可以正確地通知用戶。如果服務遇到錯誤或發生IOException,則會通知用戶'數據無法檢索'。

但是,如果發生另一個錯誤 - 例如JSON錯誤或類似於'以防萬一'的錯誤,錯誤將被拋到UI層,並且簡單地被捕獲爲Exception,因爲我們並不需要用戶知道發生了什麼,但發生錯誤。

這是否適當的異常處理?

回答

0

您是否看到任何問題?

一般來說,有一些可以讓用戶繼續工作的方式是有道理的。這應該與適當的處理方法結合起來,讓用戶優雅地停下來,抓住任何可能導致危險的事情。

0

「適當的異常處理」總是會是a)應用程序依賴和b)主觀 - 所以沒有確定的答案。

一般來說,我會說,你需要做以下所有的:

  1. 具體解決和妥善處理所有可能的異常。
  2. 提供一個捕獲所有,以防止非優雅的終止。
  3. 通知意外錯誤的用戶,如果有可能的是會影響他們的 數據或使用(即 - 不掩蓋可能會影響用戶的錯誤)

聽起來像是你已經這樣做了,所以我相信你有一個合理的方法。

相關問題