zoukankan      html  css  js  c++  java
  • asp.net 利用Global.asax 捕获整个解决方案中的异常错误

    之前做项目的时候都是在每个页面中处理这不同的异常信息,一个页面数下来,很多个try{}catch{}语句块,令整个代码结构有些不够美观。

                今天看到一篇帖子,是关于利用全局应用程序类来帮忙获取异常信息,利用 server.Transfer('''')指定接受错误的页面;加上在接受错误页面中利用 server.GetLastError() 获取前一个异常源。

                Global.asax 中的Application_Error 函数如下:

               

    1. protected void Application_Error(object sender, EventArgs e)  
    2.        {  
    3.            //捕获整个解决方案下的所有异常   
    4.            try  
    5.            {  
    6.                Server.Transfer("~/Error.aspx");  
    7.            }  
    8.            catch { }  
    9.        }  

                错误接受页面 Error.aspx 获取异常信息的相关代码如下:

               

    1. Exception ex = Server.GetLastError().GetBaseException(); //获取异常源   
    2.                if (ex != null)  
    3.                {    
    4.                    Response.Write(ex.Message);      
    5.                }  
    6.                //清空前一个异常   
    7.                Server.ClearError();  

                测试页面Text.aspx中的测试异常代码如下:

               

    1. //测试是否捕获了异常信息   
    2.    //test1   
    3.   //int UserID = Convert.ToInt32(Request["UserID"].ToString());   
    4.   
    5.   
    6.   //test2   
    7.   string Name = "aganar";  
    8.   
    9.   int UID = Convert.ToInt32(Name);  

                运行Test.aspx页面,我们会看到相关的异常信息,我们能够清晰地看出,在页面Test.aspx页面中未曾有任何一个try{}catch{}语句块存在,我们即可很方便轻松地捕获到异常信息

  • 相关阅读:
    专家教你应对小孩鼻血不止
    爸爸去哪?
    Windows server 2008 R2 + IIS7.5,ASP网站设置
    请把这十个生命气质传给孩子
    zoj 2071 Technology Trader 最大权闭合子图
    TJU 2944 Mussy Paper 最大权闭合子图
    poj 1222 EXTENDED LIGHTS OUT 高斯消元
    codeforces 383C Propagating tree 线段树
    ubuntu 安装qq
    Kafka Manager 监控
  • 原文地址:https://www.cnblogs.com/fanjiming/p/2246959.html
Copyright © 2011-2022 走看看