【转】asp.net 利用Global.asax 捕获整个解决方案中的异常错误

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

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

Global.asax 中的Application_Error 函数如下:

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

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

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

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

//测试是否捕获了异常信息
   //test1
  //int UserID = Convert.ToInt32(Request["UserID"].ToString());  

  //test2
  string Name = "aganar";  

  int UID = Convert.ToInt32(Name);

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

【转】asp.net 利用Global.asax 捕获整个解决方案中的异常错误

时间: 2024-12-07 23:27:12

【转】asp.net 利用Global.asax 捕获整个解决方案中的异常错误的相关文章

在Asp.Net的Global.asax中Application_Error跳转到自定义错误页无效的办法

在开发Asp.Net系统的时候,我们很多时候希望系统发生错误后能够跳转到一个自定义的错误页面,于是我们经常会在Global.asax中的Application_Error方法中使用Response.Redirect方法跳转到自定义错误页,但有时候(特别是当站点部署到IIS后)Application_Error方法中使用Response.Redirect方法会失效,当Asp.Net发生异常错误后还是显示出来的是Asp.Net的默认错误黄页.其根本原因是尽管我们在Application_Error方

asp.net mvc global.asax文件详解

一.文件概述 global.asax这个文件包含全局应用程序事件的事件处理程序.它响应应用程序级别和会话级别事件的代码. 运行时, Global.asax 将被编译成一个动态生成的 .NET Framework 类,该类是从HttpApplication基类派生的. 因此在global.asax中的代码可以访问HttpApplication类中所有的public或者protected的成员global.asax不被用户直接请求,但global.asax中的代码会被自动执行来响应特定的应用程序事件

ASP.NET MVC Global.asax文件中的事件

1 public class MvcApplication : System.Web.HttpApplication 2 { 3 protected void Application_Start(object sender, EventArgs e) 4 { 5 //不是每次请求都调用 6 //在Web应用程序的生命周期里就执行一次 7 //在应用程序第一次启动和应用程序域创建事被调用 8 //适合处理应用程序范围的初始化代码 9 } 10 11 void Application_End(obj

ASP.NET-关于Global.asax的作用

这个文件相当于一个应用程序量级的 全局文件,比如你想写一个变量在项目中的所有文件中都能读取是就写在这里面 Application["name"] = "zhangran"; 来自为知笔记(Wiz)

利用外部表查询alert日志中的ora错误

SQL> show parameter dump NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------background_core_dump                 string      partialbackground_dump_dest                

Global.asax

ASP.NET Global.asax 文件使用方法 - .net 标签:               asp.net.netapplicationauthenticationsessionobject 2010-08-02 09:55             3241人阅读             评论(0)             收藏              举报 本文章已收录于:              分类: 知识点滴(25)                            

Global.asax的Application_BeginRequest实现url重写无后缀的代码

本文为大家详细介绍下利用Global.asax的Application_BeginRequest 实现url重写其无后缀,具体核心代码如下,有需求的朋友可以参考下,希望对大家有所帮助 利用Global.asax的Application_BeginRequest 实现url 重写 无后缀 代码如下: <%@ Application Language="C#" %> <script RunAt="server"> void Application

.net Global.asax文件使用

Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法你可以使用这个文件实现应用程序安全性以及其它一些任务下面让我们详细看一 下如何在应用程序开发工作中使用这个文件概述Global.asax 位于应用程序根目录下虽然 Visual Studio .NET 会自动插入这个文件到所有的 ASP.NET 项目中,但是它实际上是一个可选文件删除它不会出问题当然是在你没有使用它的情况下.asax 文件扩展名指出它是一个应用程序文件,

使用Global.asax的Application_BeginRequest事件过滤客户端XSS恶意脚本提交

XSS攻击全称跨站脚本攻击(Cross Site Scripting),是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码(如HTML代码和客户端脚本)植入到提供给其它用户使用的页面中.要预防XSS攻击,就必须在处理客户端请求之前判断用户的输入是否合法,如果不合法就要拦截.在ASP.NET项目的根目录下有一个全局程序文件Global.asax文件,每次IIS请求都会按顺序执行这个文件中的不同事件.其中Application_BeginRequest事件在ASP.NET开始处理每个请