zoukankan      html  css  js  c++  java
  • 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();
            }
        }
  • 相关阅读:
    创建用户中遇到的问题
    创建用户和用户组
    ActiveMq在linxu系统上的启动
    CentOs 6.5 安装jdk
    卸载CentOs6.5自带的OpenJDK
    centos 6.5 添加ip地址
    CentOs 6.5的安装
    jna的简单测试
    电脑硬盘空间怎么越来越小
    build path contains duplicate entry:'src' for project 'XXX'
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/5536685.html
Copyright © 2011-2022 走看看