WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MVC3异常处理的方法

Posted on 2016-12-03 05:49  WebEnh  阅读(196)  评论(0编辑  收藏  举报

1、采用内置的HandleErrorAttribute对象,跳转到指定错误页

示例:http://www.cnblogs.com/TomXu/archive/2011/12/15/2285432.html

 

2、实现IExceptionFilter过滤器接口

    其实方法1中也是实现的IExceptionFilter接口。但此方法中可以对异常信息进行处理,如记录异常日志、跳转到指定页面等

    2.1 创建一个BaseController类,集成于Controller类,并实现IExceptionFilter的OnException方法。该方法的ExceptionContext参数包含http上下文数据及异常相关信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class BaseController : Controller
    {
        protected override void OnException(ExceptionContext filterContext)
        {
 
            //if (!filterContext.ExceptionHandled && filterContext.Exception is ArgumentOutOfRangeException)
            if (!filterContext.ExceptionHandled)
            {
                filterContext.Result = new RedirectResult("~/Error.htm");
                filterContext.ExceptionHandled = true;
            }
 
            base.OnException(filterContext);
        }
    }

  

    2.2 所有的Controller类继承于BaseController类,这样挡在Controller中发生异常时就会触发OnException方法