1.首先在【Model】中新建一个class做异常处理。该类继承自:HandleErrorAttribute,需要导入命名空间。

如何在C# MVC项目中使用异常处理捕获异常?

 

 

public class MyExceptionAttribute:HandleErrorAttribute
    {


        //新建一个异常队列(同一个队列)
        //public Queue<Exception> ExceptionQueue = new Queue<Exception>();
        //改为静态的,不然每次都会创建一个队列,不会在同一个队列中添加数据
        public static Queue<Exception> ExceptionQueue = new Queue<Exception>();


        /// <summary>
        /// 可以捕获异常数据,实现父类的OnException方法
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnException(ExceptionContext filterContext)
        {
            base.OnException(filterContext);
            Exception ex = filterContext.Exception;
            //将数据写到队列,入队
            ExceptionQueue.Enqueue(ex);
            //跳转到错误页面
            filterContext.HttpContext.Response.Redirect("/Error.html");
        }
    }

 

2.在FilterConfig.cs文件中注册自己定义的过滤器。

如何在C# MVC项目中使用异常处理捕获异常?

 

相关文章: