filterConfig 등록 내에 HandleError 특성을 적용하여 응용 프로그램의 전역 오류 처리를 사용하도록 설정했습니다.MVC 4 응용 프로그램에서 사용자 지정 오류가있는 UnauthorizedAccessException 처리
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
각 서버 오류에 대해 친숙한 오류 메시지가 표시되도록 맞춤 오류 (web.config)를 사용하고 있습니다.
<customErrors mode="On" ></customErrors>
이 대부분의 예외 잘 작동하는 듯 나는 (공유보기 폴더에 Error.cshtml) 그 사용자 지정 오류 페이지보기에서 예상되는 동작 표시되고 있었다를 얻고 있었다.
그러나 최근에 나는 이것이 Throw 된 오류가 UnauthorizedAccessException 인 경우 표시되는 동작이 아니라는 사실을 알아 냈습니다.
필자는이 UnauthorizedAccessException 예외가 표준 예외와 마찬가지로 일반 500 내부 서버 오류를 반환한다는 것을 알게되었습니다.
그렇다면 customError 설정에 따라 표준 예외가 어떻게 유지 되나 UnauthorizedAccessException은 발생하지 않습니까?
그리고 어떻게 그들이 동일한 행동을하도록 할 수 있습니다. 둘 다 본질적으로 최종 사용자가 보지 못하게하려는 오류입니다.
이 질문을보십시오. http://stackoverflow.com/questions/12183653/mvc-handleerror-filter-didnt-catch-an-exception – polybios