Обрабатывает ли Elmah и уловленные исключения? - PullRequest
54 голосов
/ 18 сентября 2008

Регистрирует ли ELMAH исключения, даже если они не отображаются в приложении? Я хотел бы получить сообщение о возникновении исключения и по-прежнему регистрировать исключение. В настоящее время я помещаю все в блоки try catch и выкладываю сообщения, но это становится утомительным.

Ответы [ 2 ]

129 голосов
/ 08 мая 2009

ELMAH был обновлен для поддержки новой функции под названием Сигнализация .

Это позволяет вам обрабатывать исключения так, как вы хотите, и при этом регистрировать их в ELMAH.

try
{
    int i = 5;
    int j = 0;
    i = i / j; //Throws exception
}
catch (Exception ex)
{
    MyPersonalHandlingCode(ex);
    ErrorSignal.FromCurrentContext().Raise(ex); //ELMAH Signaling
}

Повторное создание исключений может быть плохой практикой, поскольку затрудняет отслеживание потока приложения. Использование сигнализации - гораздо лучший подход, если вы намеревались каким-то образом обработать ошибку и просто хотите ее документировать.

Пожалуйста, ознакомьтесь с этим прекрасным руководством от DotNetSlackers на ELMAH

6 голосов
/ 13 декабря 2012

Фильтр - самый чистый способ справиться с этой проблемой. Проверьте это решение здесь https://stackoverflow.com/a/5936867/965935

...