首页 > 代码库 > 异常过滤器

异常过滤器

自己定义类

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>

异常过滤器