MVC过滤器---异常处理过滤器

1、用法

   创建自定义异常过滤类,继承HandleErrorAttribute

 public class MyException:HandleErrorAttribute
    {
        public override void OnException(ExceptionContext filterContext)
        {
            //如下代码不可以被删除,所以捕获不到异常
            base.OnException(filterContext);

            //记录日志

            //页面跳转
            filterContext.Result=new RedirectResult("/Error/400.html");
        }
    }

2、FilterConfig中注册

 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            //系统默认的异常处理过滤器,如果使用自定义异常处理,要将如下代码删除
            //filters.Add(new HandleErrorAttribute());
            filters.Add(new MyException());

        }

3、要用的控制器或行为加特性

[MyException]
    public class HomeController : Controller
    {
        //[MyException]
        public ActionResult Index()
        {
            return View();
        }

    }

4、在WebConfig中<ststem.web>节中配置

  <system.web>
    <customErrors mode="On">
      
    </customErrors>
</system.web>
原文地址:https://www.cnblogs.com/Jenkin/p/7536866.html