1、采用内置的HandleErrorAttribute对象,跳转到指定错误页
示例:
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方法
来源: http://www.bubuko.com/infodetail-1857779.html