ELMAH은 응용 프로그램에 버블 링되지 않는 경우에도 예외를 기록합니까? 예외가 발생하고 여전히 예외를 기록 할 때 메시지를 팝업하고 싶습니다. 현재 저는 블록을 잡아 내고 메시지를 뱉어내는 데 모든 것을 사용하고 있지만 지루합니다.elmah가 catch 된 예외도 처리합니다.
52
A
답변
127
ELMAH가 Signaling이라는 새로운 기능을 지원하도록 업데이트되었습니다.
이렇게하면 ELMAH에 계속 로깅하면서 원하는대로 예외를 처리 할 수 있습니다.
try
{
int i = 5;
int j = 0;
i = i/j; //Throws exception
}
catch (Exception ex)
{
MyPersonalHandlingCode(ex);
ErrorSignal.FromCurrentContext().Raise(ex); //ELMAH Signaling
}
예외를 다시 throw하는 것은 응용 프로그램의 흐름을 추적하기 어렵게하므로 좋지 않은 방법 일 수 있습니다. 시그널링을 사용하면 오류를 어떤 방식으로 처리하고 단순히 문서화하기를 원한다면 훨씬 더 나은 접근법입니다.
는 필터가이 문제를 처리하는 가장 깨끗한 방법입니다 DotNetSlackers on ELMAH
6
하여이 훌륭한 가이드를 확인하시기 바랍니다. 이 솔루션을 여기에서 확인하십시오. https://stackoverflow.com/a/5936867/965935
+2
필자는 필터가 이미 try catch 블록에서 처리 된 예외를 잡을 수 없다는 것을 이해합니다. 이 답변을 확인하려면 [link] (http://stackoverflow.com/a/21864117/694457)를 참조하십시오. – frezq
어떤 종류의 속성/필터를 사용하여이를 달성 할 수 있습니까? 그 코드를 각 캐치 안에 넣으므로 많은 생각을합니다. 그렇게 할 수있는 종류의 필터가 있으면 좋을 것입니다. – Kuncevic
아이러니하게도 dlenetslackers는 리드를 처리되지 않은 오류 페이지에 연결합니다. 이것은 트롤이 되어야만 하는가? – niico
내 하루를 절약했습니다. – NMathur