MVC使用Exception过滤器自定义处理Action的的异常
1.继承FilterAttribute ,IExceptionFilter自定义处理
/// <summary> /// 登录错误自定义处理 /// </summary> public class LoginErrorFilter :FilterAttribute ,IExceptionFilter { public string Title { get; set; } public LoginErrorFilter(string Title) { this.Title = Title; } public void OnException(ExceptionContext filterContext) { //获取出错描述 string msg = this.Title + "时,"; Exception ex = filterContext.Exception; msg += ex.Message; if (ex.InnerException != null) { msg += ",内部错误:" + ex.InnerException.Message; } //执行当前错误页面 RouteData routeData = new RouteData(); routeData.Values.Add("controller", "login"); routeData.Values.Add("action", "error"); routeData.Values.Add("msg", msg); IController one = new LoginController(); one.Execute(new RequestContext(new HttpContextWrapper(HttpContext.Current), routeData)); //返回状态500 filterContext.HttpContext.Response.StatusCode = 500; filterContext.ExceptionHandled = true; filterContext.Result = null; } }
2.操作注释,使用处理
/// <summary> /// QQ第三方登录处理 /// </summary> /// <returns></returns> [LoginErrorFilter("QQ登录处理")] public ActionResult QQOperate() { throw new Exception("错误003"); return result; }
标签:
MVC
, IExceptionFilter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2014-06-03 微网站中加入一键拨号功能代码