在我的一個類中,我調用了一個對其有一些錯誤處理的倉庫。我想重構錯誤處理代碼,因爲它是相當重複的,唯一真正改變的是消息。重構異常處理
我的代碼目前看起來是這樣的:
public IList<User> GetUser()
{
try
{
return _repository.GetUsers();
}
catch (WebException ex)
{
ErrorMessages.Add("...");
_logger.ErrorException("...", ex);
}
catch (SoapException ex)
{
ErrorMessages.Add("...");
_logger.ErrorException("...", ex);
}
... etc
}
我可以給它接受一個錯誤信息值和記錄信息值的另一種方法的調用替換我的catch塊的行。不過,我想我也可以使用一個動作參數來做到這一點,但我在使用Func <>和動作<>時很缺乏經驗,並且實際上並沒有看到使用其中一種方法會有什麼好處。
我的問題是真正重構這段代碼的最佳方式是什麼,以及爲什麼一種方式會比另一種方式受益(就像我上面的示例一樣)。
感謝您的任何幫助。
爲什麼? http://blog.gauffin.org/2010/11/do-not-catch-that-exception/ – jgauffin
「在距離用戶最近的層中嘗試/捕獲所有內容都可以。」。最終,這個結果將返回到一個視圖 – Serberuss