ASP.Net 中的异常处理

1. 使用Error 事件

         1.1 页面级的Error处理

               通过Page_Error函数,我们可以对页面中发生的未处理异常进行处理。 

          1.2 应用程序级的Error 处理

              通过Global.asax 中 Application _Error 函数,我们可以对整个应用程序中未处理的异常进行处理。

           1.3 Tips

                1.3.1 我们可以通过Server.GetLastError 方法得到未处理的异常 。  注意:在Application_Error 中,Server.GetLastError 方法返回的是一个UnHandledExpection,我通过UnHandledException 的InnerExpection属性来得到真正发生的异常。

                 1.3.2 当处理完异常之后,需要调用Server.ClearError 来清除异常。否则,异常会继续传递下去。

2.使用Error 页

     2.1 应用程序级的 Error 页

           比如:

            <customErrors mode="on" defaultRedirect="ErrorDefault.aspx">

                  <error statuscode="401" redirect="ErrorUnauthorized.aspx"/>

            </customErrors>

            上面的配置文件指定,当发生错误,且状态码为401时,将用户重定向到ErrorUnauthorized.aspx 页。其他错误则重定向到ErrorDefault.aspx 页

            当我们在本机上调试程序的时候,应将 mode属性设为 on ,那样的话我们才可以看到错误页。mode 设置为remoteOnly 时,只有远程用户能看到错误页,而本机则看不到。

         2.2 页面级的 Error 页

              通过使用Page的 ErrorPage属性,我们可以为页面指定一个错误页 。 比如  <@Page ErrorPage="DefaultError.aspx"/>

 

3.使用 Trace

     3.1 应用程序级的 Trace

           比如:

          <trace enable="true" requestLimit="20"  pageOutput="false"  traceMode="SortByTime" localOnly="true"/>

          上面的配置文件指定,将前20个请求写入Trace.axd 文件,且按照时间排序。

          将pageOutput 设为false ,Asp.net 将trace 信息写入Trace.axd 文件。否则则显示在每个页面上。

       3.2 页面级的 Trace

            可以通过 页面上的 Trace属性来打开,关闭此页面上的Trace

            比如: <@Page Trace="true"/>

             注意:在配置文件指定将Trace 信息写入Trace.axd 不会影响页面级的设定。即当页面的 Trace属性设为 true的时候,所有的trace 信息将输出在此页面上。解决方法为: 在配置文件中将pageOutput 设为false ,将不需要跟踪的页面的Trace 设为false

          3.3 输入信息

               可以使用Trace 类的 Write和Warn 方法将信息写入 Trace流中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值