WEB程序异常捕获的方法

    技术2022-05-11  39

    方法一:修改 Web.Config 文件

           描述:

    该方法可以便捷的对所有异常进行屏蔽,并转向到特定的友好页面,但不能获取具体的异常信息。

     

           方法:

                  修改 Web.config 中的 ”customErrors” 设置,使其将异常定向到指定页面,可参考以下代码:

     

    < customErrors   mode ="RemoteOnly" defaultRedirect="~/portal/customError.aspx" ></ customErrors >

    方法二:修改 Global.asax.cs 文件

           描述:

                  该方法可以在发生异常时按照程序的逻辑去处理异常。

          

    方法:

           修改 Global.asax.cs 文件,添加 Error 事件,并捕获具体错误。

     

    InitializeComponent方法中添加事件

             #region Web 窗体设计器生成的代码

             /// <summary>

             /// 设计器支持所需的方法 - 不要使用代码编辑器修改

             /// 此方法的内容。

             /// </summary>

             private void InitializeComponent()

             {   

                  this.Error += new System.EventHandler(this.Global_Error);    // 添加事件

             }

             #endregion

     

    新增Error事件对应的处理函数

             private void Global_Error(object sender, System.EventArgs e)

             {

                  Exception objErr = Server.GetLastError().GetBaseException();// 获取刚刚发生的错误

                  Server.ClearError();   // 清空错误

                 

                  // 对错误进行处理,可以根据objErr的属性获得详细的异常信息,其中Message属性最为详细

                  // 这里是将错误信息以URL QUERY的方式发送给一个指定的异常友好显示页面,由该页面做UI显示

                  Response.Write( "<script>window.open('customError.aspx?msg=" + Server.UrlEncode(

    objErr.Source + "|" + objErr.TargetSite.Name + "|" +objErr.Message ) + "','_self')</script>" );

     

             }

     

    最新回复(0)