Получение значений параметров с помощью обработчика исключений Microsoft Enterprise Library - PullRequest
0 голосов
/ 05 октября 2010

Мы используем Enterprise Library для всех наших нужд регистрации и обработки исключений в нашем приложении. Мы добавили прослушиватель электронной почты, чтобы отправить все обнаруженные исключения по электронной почте администратору. Одно из требований заключается в том, что когда в методе возникает исключение, нам нужно получить значения параметров метода, если они есть, и прикрепить его к деталям исключения в отправленном электронном письме. Возможно ли это без написания собственного регистратора?

1 Ответ

0 голосов
/ 05 октября 2010

Просто создайте пользовательское исключение, установив в сообщении параметры:

try {
  ...
} catch(Exception ex) {
  var customException = new CustomException(ex, string.format("Param1 {0}, Param2 {1}", param1, param2));
  bool rethrow = ExceptionPolicy.HandleException(customException, PolicyName);
}

проверил, что на самом деле класс ExceptionFormatter действительно пересекает все внутренние исключения, поэтому ваше CustomException может быть таким простым, как

public class CustomException : Exception
{
    public CustomException(string message, Exception innerException) : base(message, innerException)
    {
    }
}
...