我正在構建將在兩種類型的應用程序中使用的數據訪問層。數據訪問層中的異常處理策略
不關心錯誤細節的應用程序。如果發生異常,那麼很可能只是記錄下來,用戶可能不知道它。
例如:簡單的條碼存貨申請。用戶輸入條形碼,並且如果數據庫可用連接,則系統提供一些額外的信息,如果不是,則只有條形碼被本地記錄。在這種情況下,我不想進行細節異常處理。
應用程序,我非常關心例外的細節。
構建我的DAL以適應這兩個類別時,我必須遵循什麼策略?
現在我正在構建一個來自第一類的應用程序,我在DAL方法中完成的所有工作就是讓異常起泡到表示層,其中我有幾個try..catch
塊,以便進行簡單的處理記錄,讓用戶不知道他的錯誤。
您的DAL不應該關心它是如何被消耗的。讓它拋出有意義的異常,讓你的消費層/應用程序處理,但他們認爲合適。這聽起來像你使用的策略已經考慮到了這一點,所以我認爲你不需要改變任何東西。 –
避免使用異常來控制程序流。用它們來表示一個並非預期的特殊情況。這意味着您的DAL將決定何時保持連接可用時的數據。 – MushinNoShin
@EliGassert:這意味着在演示文稿或製作某種自定義異常處理類中的多個嘗試catch塊... MushinNoShin:有些情況下數據永遠不可用(例如,如果3G網絡出現故障並且平板電腦無法連接) – e4rthdog