异常过滤器

自己定义类

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>

时间: 2024-10-10 10:28:45

异常过滤器的相关文章

MVC异常过滤器

MVC过滤器 一般的过滤器执行顺序 IAuthorizationFilter->OnAuthorization(授权) IActionFilter          ->OnActionExecuting(行为) Action IActionFilter          ->OnActionExecuted(行为) IResultFilter          ->OnResultExecuting(结果) View IResultFilter          ->OnR

MVC与WebApi中的异常过滤器

一.MVC的异常过滤器 1.自定义MVC异常过滤器 创建一个类,继承HandleErrorAttribute即可,如果不需要作为特性使用直接实现IExceptionFilter接口即可, 注意,该接口在System.Web.Mvc 命名空间下 /// <summary> /// 自定义的MVC异常过滤器 /// 可以在Controller或Action上单独使用,也可直接注册为全局过滤器 /// </summary> publicclassMVCExceptionFilterAtt

MVC异常过滤器 (错误页)

控制器 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MVC过滤器.Controllers { public class HomeController : Controller { // // GET: /Home/ public ActionResult Index(string id, string nam

MVC4 异常过滤器

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcRazor.Models { //异常过滤器 public class MyExceptionFilterAttribute:HandleErrorAttribute { public override void OnException(ExceptionCo

MVC 全局异常过滤器HandleErrorAttribute

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc; namespace 过滤器.Filtes{ /// <summary> /// 全局异常过滤器/// </summary> public class MyHandleErrorAttribute:HandleErrorAttribute { public override voi

MVC 异常过滤器

本文实现对MVC异常处理功能,借此来讨论ASP.NET MVC中拦截器的使用方法. 第一步:写一个自己的异常过滤器,让它继承HandleErrorAttribute类 然后重写OnException()这个方法  (注:HandleErrorAttribute 类已经继承了FilterAttribute, IExceptionFilter这两个接口,并实现了它们,所以这我们只要继承HandleErrorAttribute就可以了) using System; using System.Colle

.net Log4Net日志的配置及使用 全局异常过滤器

.net添加Log4Net日志的配置及使用,以及将其设置为全局异常过滤器,主要有以下步骤: 1. 新建一个Web应用程序2. 引用log4net.dll3. 添加config文件4. 在AssemblyInfo.cs进行注册5. 在Global.asax中进行初始化设置6. 添加Log4Helper.cs帮助类7. 新增过滤器LogExceptionFilter.cs文件8. 在FilterConfig.cs中添加过滤器9. 在Global.asax中注册过滤器 详细步骤如下: 1.新建一个we

MVC过滤器使用案例:统一处理异常顺道精简代码

重构的乐趣在于精简代码,模块化设计,解耦功能……而对异常处理的重构则刚好满足上述三个方面,下面是我的一点小心得. 一.相关的学习 在文章<精简自己20%的代码>中,讨论了异常的统一处理,并通过对异常处理的封装达到精简代码的目的.具体有两种处理方法: 方法1:封装一个包含try{}catch{}finally{}的异常处理逻辑的方法类,将别的方法作为参数传入该方法,在页面内调用封装后的方法,大体代码如下: public class Process { public static bool Exe

asp.net core MVC 全局过滤器之ExceptionFilter过滤器(一)

本系类将会讲解asp.net core MVC中的内置全局过滤器的使用,将分为以下章节 asp.net core MVC 过滤器之ExceptionFilter过滤器(一) asp.net core MVC 过滤器之ActionFilter过滤器(二) asp.net core MVC 过滤器之ResultFilter过滤器(三) asp.net core MVC 过滤器之ResourceFilter过滤器(四) asp.net core MVC 过滤器之AuthorizationFilter过