ASP.NET中的全局错误处理
本文关键字:错误 处理 全局 NET ASP | 更新日期: 2023-09-27 18:12:18
在ASP中捕获错误有什么问题吗?. NET应用程序全局(例如:Global.asax)?我已经看过这个问题良好的错误处理实践,它并没有真正说太多关于这个。
我的经验已经排除了一些非常具体的情况(如交易)。我们正在编写的。NET应用程序都是按照
void ButtonEventHandler(object sender, EventArgs e) {
Page.Validate();
if (Page.IsValid) {
//Do a database insert or update thru relevant datalayers.
//If its a transaction then we rollback internally and rethrow
//the exception.
}
}
为什么不使用全局异常处理程序呢?通常(此时)我唯一能做的就是优雅地中止操作,并告诉用户再试一次。
处理未捕获异常的全局位置应该在global中。通过处理Application_Error
。正如John所指出的,您应该始终尽可能地在可能发生异常的地方处理异常,并做出适当的反应。
我想是的。您应该在尽可能接近特定操作的情况下捕获您可能期望的异常,并采取适当的行为,但除此之外(或者可能在它进行一些清理和重新抛出之后),一个记录异常并进入一般500响应的全局处理程序是一个很好的默认行为。