首页.net技术ASP.NET › ASP.Net 中的异常处理

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流中。

转载本站文章请注明出处:就是他吧 http://www.94taba.com/?p=199

上一篇:

下一篇: