"HandleError"예외 처리를위한 동작 필터를 사용하는 MVC 3 웹 응용 프로그램이 있습니다. 이 액션 필터는 다음과 같이 구현했습니다.MVC HandleError 필터가 예외를 catch하지 않았습니다.
[HandleError]
public class BaseController : Controller {...}
내 컨트롤러가 모두 파생 된 기본 클래스입니다. 내 web.config에서 나는 을 가지고 있고 Error.cshtml은 내 공유 폴더 (.cshtml은 Razor를 사용하기 때문에)에 있습니다. 때문에 "customErrors에"의 "처리되지 않은 예외 (YSOD)"하고 내가 기본 ASP.Net을 가지고 모든 것이 잘 작동되었고, 나는 최근에 (내 기능에 의해 포맷) 처리 벌금 예외
를 얻을, 어떻게 든 내가 가지고와 실제 예외에 대한 정보가없는 오류 메시지. 이것은 AJAX 포스트에서 일어난 일입니다. 그러나, 나는 그것을 재현 할 수 없습니다.
어떤 종류의 오류라도이 작업 필터를 벗어날 수 있습니까?
마크, 죄송합니다. 네, "UnauthorizedAccessException"(아마도 파일 액세스가 아님)과 같은 몇 가지 예외를 보았습니다. 나는 아마도 Application_Error가 그것을 잡을 마지막 단계 일 것이라고 동의한다. 그러나 [HandleError]는 MVC와 비슷합니다. 이러한 예외를 포착 할 수있는이 게시물 (http://stackoverflow.com/questions/183316/asp-net-mvc-handleerror - 세 번째 대답)은 어떻습니까? ELMAH는 로깅에 적합합니다. –
어제 Application_Error 코드를 시도했지만 "UnauthorizedAccessException"을 처리 할 수 없습니다. 나중에 코드를 controller.ViewData.Model = new HandleErrorInfo (예 : currentController, currentAction)로 변경했습니다. - 잘됐다! 나는 이것이 [HandleError]와 공존하는지 알고 싶었거나 Application_error 후에 더 이상 [HandleError]가 필요 없다고 말하고 싶습니다. –
Controller.ViewData.Model = new HandleErrorInfo() – VJAI