0
我已经在MVC 3应用程序中创建了自定义异常处理程序,不幸的是,如果抛出异常,它将永远不会被打中。我想念什么?ExceptionFilter不处理异常
自定义异常过滤器
public class ExceptionFilter : IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
//Never executed
}
}
在Global.asax.cx
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ExceptionFilter()); //must be before HandleErrorAttribute
filters.Add(new HandleErrorAttribute());
}
的Web.config
<customErrors mode="RemoteOnly" defaultRedirect="/error/default">
<error statusCode="404" redirect="/error/pagenotfound" />
</customErrors>
哪里抛出异常? – 2012-04-23 11:24:37
我曾在两个地方尝试过。 1.导航到不存在的网页。 2.我在执行一些计算的地方分离了线程,如果在那里发生异常,它不会被过滤器处理。 – Tomas 2012-04-23 11:32:36
异常过滤器处理在控制器操作内部抛出的异常。它们不能用于处理整个ASP.NET应用程序中发生的全局异常。 – 2012-04-23 11:33:31