• MVC 全局异常捕获


    /// <summary>
        /// 自定义全局异常捕获
        /// </summary>
        public class ExceptionHelper : FilterAttribute, IExceptionFilter
        {
            /// <summary>
            /// 实现 IExceptionFilter中的 OnException 方法
            /// </summary>
            /// <param name="filterContext"></param>
            public void OnException(ExceptionContext filterContext)
            {
                Exception ex = filterContext.Exception as Exception;
                if (ex != null)
                {
                    filterContext.Controller.ViewBag.UrlRefer = filterContext.HttpContext.Request.UrlReferrer;
                    LogHelper.Error("Filter捕获到未处理异常",ex);            
                    //页面抛出异常信息
                    filterContext.HttpContext.Response.Write(string.Format("系统捕捉到未处理的异常:{0}<br/>", ex.GetType().ToString()));
                    filterContext.HttpContext.Response.Write("Filter 已进行错误处理。");
                }
                filterContext.ExceptionHandled = true;//设置异常已经处理
            }
        }

    自定义一个类,继承 FilterAttribute,IExceptionFilter。实现接口OnException,该接口为程序抛异常时触发。

    在MVC的Filter.config中添加该类。

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
            {
                filters.Add(new HandleErrorAttribute());
                filters.Add(new ExceptionHelper(), 1);//自定义的验证特性 ExceptionHelper
         }

    这样在MVC中就可以捕获没有处理的异常信息。

  • 相关阅读:
    js、php 判断用户终端 、浏览器类型
    网站安装 https 证书
    PHP请求远程地址设置超时时间
    js实现复制文本内容到剪切板
    微信公众号授权获取用户信息
    生成微信公众号二维码(用户扫码关注公众号)
    域名dns 查询
    服务端 安装配置 svn
    自动生成文档
    python tkinter 布局
  • 原文地址:https://www.cnblogs.com/daniel-niu/p/10313206.html
Copyright © 2020-2023  润新知