zoukankan      html  css  js  c++  java
  • 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中就可以捕获没有处理的异常信息。

  • 相关阅读:
    Scala依赖注入
    Scala实现树形结构
    Spark GraphX快速入门
    mysql服务自启【Linux】
    Centos7安装mysql5.6
    Scala路径依赖【内部类】
    spark查看DF的partition数目及每个partition中的数据量【集群模式】
    Python自定义异常及抛出异常
    Spark应用【根据新df更新旧df】
    Linux安装JDK
  • 原文地址:https://www.cnblogs.com/daniel-niu/p/10313206.html
Copyright © 2011-2022 走看看