MVC 使用HandleErrorAttribute统一处理异常

    HandleErrorAttribute继承自FilterAttribute,且实现了IExceptionFilter接口。

    属于AOP思想的一种实现,MVC的四大筛选器(权限,动作,结果,异常)中的异常处理。

Usage

1.创建自定义异常处理

MVC 使用HandleErrorAttribute统一处理异常
public class AppHandleErrorAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        var json = new JsonResponse();
        json.success = false;
        var ex = filterContext.Exception;
        //deal custom exception…
        json.message = "系统异常,请联系管理员!";
        string msg = string.Format("系统异常:{0}", ex.Message);
        LogHelper.Error(msg, ex);   //Log4jNet
        
filterContext.ExceptionHandled = true;
        var result = new JsonResult();
        result.Data = json;
        result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
        filterContext.Result = result;
    }
}
MVC 使用HandleErrorAttribute统一处理异常
 

2.注册

MVC 使用HandleErrorAttribute统一处理异常
public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new AppHandleErrorAttribute());
    }
}
MVC 使用HandleErrorAttribute统一处理异常

参考:http://www.cnblogs.com/linjiancun/archive/2010/09/16/1827937.html

MVC 使用HandleErrorAttribute统一处理异常,布布扣,bubuko.com

MVC 使用HandleErrorAttribute统一处理异常

上一篇:中文录入问题 转载自:http://blog.csdn.net/ichsonx/article/details/8625925


下一篇:MVC _ViewStart文件的作用