• ASP.NET MVC中的错误处理


    ASP.NET MVC中的错误的错误处理跨越了两个主要领域:程序异常和路由异常的处理。前者是关于在控制器和视图中捕获错误的;而后者更多是有关重定向和HTTP错误的。

    1、在WebConfig中把过滤器配置启动

        <customErrors mode="On">
        </customErrors>

    控制器的代码报错时,会跳转到~/Views/Shared/Error.cshtml页面。mode="Off"页面不会跳转直接显示错误信息。

    2、绑定异常过滤器(过滤范围是在controller的action方法中。)

        public class FilterConfig
        {
            //效果相当于每个控制器的方法都添加了这个特性
            //[HandleError(ExceptionType = typeof(NullReferenceException), View = "error")]
            //public ActionResult Index()
            public static void RegisterGlobalFilters(GlobalFilterCollection filters)
            {
                filters.Add(new HandleErrorAttribute());
            }
        }

    3、处理路由异常

        <customErrors mode="On">
          <error statusCode="404" redirect="~/Home/Index"/>
        </customErrors>

    4、使用HTTP模块的全局错误处理

        public class MvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);
            }
    
            protected void Application_Error(object sender,EventArgs e)
            {
                var exception = Server.GetLastError();
                if (exception == null)
                    return;
                Server.ClearError();
            }
        }
  • 相关阅读:
    初识AOP与动态代理
    Java读取打印机自定义纸张.
    通过邮箱发送html报表
    Java 代码质量
    JAVA学习笔记--匿名内部类
    JAVA学习笔记--简介几个常见关键字static、final、this、super
    JAVA学习笔记--迭代器
    JAVA学习笔记--初识容器类库
    JAVA学习笔记--策略设计模式与适配器模式
    JAVA学习笔记--接口
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/5536685.html
Copyright © 2020-2023  润新知