ASP.NET 中对于异常的处理

本文介绍了在ASP.NET中处理未捕获异常的两种方法:通过Global.asax文件中的Application_Error事件记录异常日志;通过配置customError元素来定制错误页面。这两种方法能够帮助开发者更好地管理和反馈异常情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!

陈希章

原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/11/12/1331777.html
原文标题:ASP.NET 中对于异常的处理
原文发表:2008/11/12 1:31:00

在ASP.NET编程中,如何对未捕获的异常进行统一的处理(或者称为响应),有两种方式

1. 通过Global.asax文件中编写Application_Error事件

private static string LOG_SOURCE = ConfigurationManager.AppSettings["Event Log Source"];

// If an exception is thrown in the application then log it to an event log
protected void Application_Error(object sender, EventArgs e) {
    Exception x = Server.GetLastError().GetBaseException();
    EventLog.WriteEntry(LOG_SOURCE, x.ToString(), EventLogEntryType.Error);
}   

这个事件能捕获所有未处理的异常。一般在这里进行日志的记录(如果需要的话)

 

2.通过配置customError元素

这里的mode有三个可能性:On,Off,RemoteOnly。设置为On表示不管是在本地还是在远程访问都显示详细的错误消息,而不是Redirect到我们的页面去。Off则反之。而RemoteOnly则表示只有在远程的情况下才使用自定义错误页面

这样就可以,发生错误的时候,把用户导航到一个统一的页面。我们一般不需要(也最好不要)把错误的详细信息告诉用户。

image 

 

image

需要注意一下,如果程序是在debug模式,那么以上都会失效。

所以,我们规定正式发布的程序都需要把调试模式关闭,这另外一方面还可以提高性能。

作者:陈希章
出处:http://blog.youkuaiyun.com/chen_xizhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值