自己定义类
public class MyException:System.Web.Mvc.HandleErrorAttribute
{
public override void OnException(System.Web.Mvc.ExceptionContext filterContext)
{
//下面的代码不可以被删除,否则捕获不到异常
base.OnException(filterContext);
//捕获异常,跳转到错误页面
filterContext.Result = new System.Web.Mvc.RedirectResult("/Error/400.html");
}
}
//在当前控制器重写方法,应用于当前控制器下的所有的方法
//protected override void OnException(ExceptionContext filterContext)
//{
// //base.OnException(filterContext);
// filterContext.Result = new System.Web.Mvc.RedirectResult("/Error/4000.html");
//}
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
//这时系统默认的异常处理过滤器,如果使用自己的过滤器,必须注释
//filters.Add(new HandleErrorAttribute());
//自己定义的异常处理过滤器
//如果使用自己定义的异常处理过滤器,一定要在配置文件里设置
filters.Add(new MyException());
}
}
<system.web>
<!--用户自己定义的异常处理过滤器-->
<customErrors mode="On">
</customErrors>