MVC使用Exception过滤器自定义处理Action的的异常
2016-06-03 15:46
591 查看
1.继承FilterAttribute ,IExceptionFilter自定义处理
2.操作注释,使用处理
/// <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; }
相关文章推荐
- eclipse对项目整理分类
- Go学习记录
- java中list、set和map 的区别
- CISCO交换机上实现MAC和端口、IP和端口、IP和MAC的绑定
- 视频也能参与排名,原来这么优化就行了
- 排序算法值三 —— 希尔排序
- zend framework入门教程
- 思维导图软件xmind和mindmanager哪个更好
- Entity Framework Code First (五)Fluent API - 配置关系
- 越庖代俎的git for windows
- 整理网上两种OPENSSL RSA加密解密方式总结
- 【51CTO学院三周年】我的51CTO学院旅程
- Xcode插件开发-插件模板工程
- ceph存储 PG的数据恢复过程
- Entity Framework Code First (四)Fluent API - 配置属性/类型
- hdu-1102-Constructing Roads-最小生成树,Kruskal算法
- 六大设计原则
- 使用定义在xml下的动画
- C++之sizeof的用法
- Java成员变量是自身、本类对象