using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace ZhangHaoSong.Test.MVC.Models
{
public class ErrorHandleAttribute : ActionFilterAttribute,IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
//获取异常信息,入库保存
var error = filterContext.Exception;
var message = error.Message;//错误信息
var url = HttpContext.Current.Request.RawUrl;//错误发生地址
var controllerName = filterContext.RouteData.Values["controller"].ToString();
var actionName = filterContext.RouteData.Values["action"].ToString();
var exception = filterContext.Exception.ToString();
// Log4NetHelp.Error("出错位置:" + url, filterContext.Exception);
filterContext.HttpContext.Response.Redirect("/home/errortest");//否则跳转至登陆页
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace ZhangHaoSong.Test.MVC.Models
{
public class ErrorHandleAttribute : ActionFilterAttribute,IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
//获取异常信息,入库保存
var error = filterContext.Exception;
var message = error.Message;//错误信息
var url = HttpContext.Current.Request.RawUrl;//错误发生地址
var controllerName = filterContext.RouteData.Values["controller"].ToString();
var actionName = filterContext.RouteData.Values["action"].ToString();
var exception = filterContext.Exception.ToString();
// Log4NetHelp.Error("出错位置:" + url, filterContext.Exception);
filterContext.HttpContext.Response.Redirect("/home/errortest");//否则跳转至登陆页
}
}
}
然后在对应的控制器添加

出现异常就会自动跳转到OnException方法执行异常处理操作
本文介绍了一种在ASP.NET MVC应用程序中实现自定义异常处理的方法。通过创建ErrorHandleAttribute类继承ActionFilterAttribute和IExceptionFilter接口,可以在控制器方法抛出异常时捕获并处理这些异常。文章展示了如何在控制器中应用此属性以自动执行异常处理流程,包括记录错误信息及重定向到特定视图。
223

被折叠的 条评论
为什么被折叠?



