我通过在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)中所显示的预期行为。
但是我最近已经注意到,如果抛出的错误是UnauthorizedAccessException,这不是我看到的行为。
我有点难以忍受这一点,因为看着小提琴手,我发现这个UnauthorizedAccessException异常返回一个普通的500内部服务器错误,作为标准例外。
那么标准异常如何遵守我的customError设置,但UnauthorizedAccessException不会呢?
我该如何让他们行为相同,因为他们本质上都是我想阻止最终用户看到的错误。
看看这个问题http://stackoverflow.com/questions/12183653/mvc-handleerror-filter-didnt-catch-an-exception – polybios