2013-11-15 4 views
1

나는 일종의 글로벌 오류 처리 솔루션을 만드는 임무를 맡았으므로 HttpModule을 작성하여 기존 ASP.NET 솔루션에 포함 시켰습니다. 때로는 이러한 기존 웹 응용 프로그램에는 특정 작업을 수행 할 수있는 자체 오류 처리 (try/catch)가 있습니다.HttpModule의 OnError가 기존의 기존 오류 처리를 대체합니까?

질문 응용 프로그램 예외가 발생, 그것은 응용 프로그램 내부의 특정 시도/캐치보다 전역 범위의 이상을이 지난 이후 내 HttpModule 화재에 OnError합니까? 매번 마지막으로 발사 될 예정입니까? OnError 처리되고 처리되지 않은 모든 단일 응용 프로그램 예외를 catch합니까? 내가 말했을 때 내 애플 어딘가에서 내 코드의 어떤 부분에서 이미 오류가 "처리"되었다면, OnError에 끝날 것인가?

답변

3

예외를 throw 코드가 try...catch 블록 안에있는 경우 clearly stated in the documentation

그대로 만 응용 프로그램에 의해 체포하지 않는 그 예외를 얻을 것이다 HttpModule의는 글로벌 오류로 전파되는 예외 없다 매니저.

예외를 처리하고 기본 ASP.NET 오류 메시지를 표시하려면 ClearError 메서드를 사용하면됩니다.

모든 예외에 대해 정말로 알고 싶다면 AppDomain에있는 FirstChanceException 이벤트를 사용하여 예외가 catch되면 직접 알릴 수 있습니다. 그러나 당신이 아마 그런 식으로 예상하는 것보다 더 많은 예외를 잡을 것입니다 - 많은 예외가 던져지고 프레임 워크 내에서 정상적으로 처리됩니다.

관련 문제