Регистрирует ли ELMAH исключения, даже если они не передаются приложению? Я хотел бы отображать всплывающее сообщение при возникновении исключения и все же регистрировать исключение. В настоящее время я все вставляю в блоки try catch и выкладываю сообщения, но это утомительно.
Обрабатывает ли elmah также пойманные исключения
Ответы (2)
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
person
Community
schedule
08.05.2009
Можно ли добиться этого с помощью какого-либо атрибута / фильтра? Я думаю, потому что помещать этот код в каждую ловушку слишком много, было бы неплохо иметь такой фильтр, который бы это делал.
- person angularrocks.com; 20.09.2011
По иронии судьбы, ссылка dognetslackers ведет на страницу с необработанной ошибкой. Это должен быть тролль?
- person niico; 13.02.2017
вот ссылка на обратную машину на статью DotNetSlackers: http://web.archive.org/web/20140415040316/http://dotnetslackers.com/articles/aspnet/ErrorLoggingModulesAndHandlers.aspx
- person XoXo; 02.10.2019
Фильтр - самый чистый способ решить эту проблему. Проверьте это решение здесь, https://stackoverflow.com/a/5936867/965935
person
Community
schedule
13.12.2012
Насколько я понимаю, фильтр не сможет поймать исключение, уже обработанное в блоке try catch. Проверьте этот ответ здесь, ссылка.
- person frezq; 14.01.2015