В одном из моих классов у меня есть вызов в репозиторий, на котором есть обработка ошибок. Я хотел бы реорганизовать код обработки ошибок, потому что он довольно повторяющийся, и единственное, что действительно меняется, - это сообщение.Рефакторинг обработки исключений
Моего код в настоящее время выглядит следующим образом:
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
}
Я мог бы заменить эти строки в моем поймать блок с вызовом другого метода, который принимает значение сообщения об ошибке и значение регистратора сообщений. Однако я полагаю, что я мог бы также сделать это, используя параметр Action <>, но я очень неопытен при использовании Func <> и Action <> и не вижу, какую выгоду я бы использовал, используя один из методов.
Вопрос в том, как лучше всего реорганизовать этот код, и почему один из способов приносит пользу другому (как в моем примере выше).
Спасибо за любую помощь.
Почему? http://blog.gauffin.org/2010/11/do-not-catch-that-exception/ – jgauffin
«Попробуйте/поймайте все в порядке, ближайшем к пользователю». В конечном счете, этот результат возвращается к представлению – Serberuss