Программная регистрация ошибок с помощью Elmah: регистрация конкретной информации - PullRequest
17 голосов
/ 02 июля 2011

Я регистрирую ошибку с Elmah внутри блока try-catch.вот код;

try {
    DateTime.Parse("poo");
} catch (Exception err) {

    Elmah.ErrorSignal.FromCurrentContext().Raise(err);
}

Я хотел бы записать некоторую конкретную информацию, например некоторую информацию, которую можно получить из предыдущих методов или свойств в том же контексте, но свойства Exception доступны только для чтения.Каков наилучший способ сделать это?

Моя главная цель - сделать что-то вроде ниже;

} catch (Exception err) {
    err.Message += "poo";
    Elmah.ErrorSignal.FromCurrentContext().Raise(err);
}

1 Ответ

26 голосов
/ 03 июля 2011

Вы можете создать свой собственный объект исключения и передать его Эльме.

Установите метод статического помощника и сделайте что-то вроде

public static void HandleError(Exception ex, String customMsg)
{
     Exception newEx = new Exception(customMsg, ex);
     Elmah.ErrorSignal.FromCurrentContext().Raise(newEx);

}
...