2009-06-01 66 views
2

在BLL中返回業務規則錯誤的最佳做法是什麼?我應該只是提出異常並在表示層中捕獲它們,我會返回某種包含任何異常類型信息的對象嗎?BLL錯誤最佳實踐

回答

2

「返回」這個詞在這裏很棘手。

多層設計的主要優點是正交性。您應該能夠從完全不同的用戶界面調用BLL中的類,而不是您當前使用的用戶界面,並且完全不同地處理日誌記錄。

如果能夠在沒有用戶干預或通知的情況下處理異常,通常應該在BLL中這樣做。如果該異常需要引起用戶的注意或記錄,讓它冒泡到UI,UI可以實現通知和日誌記錄,而無需在BLL中構建這樣的事情。

+3

在單個BLL異常類型(MyDatabaseException)中包裝多個異常(InvalidCastException,SqlException等等)也是一個好主意,因此使用該庫的人不必在每次調用時捕獲十五種不同類型的異常。 – Will 2009-06-01 15:54:05