首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.Net异常-在Global.asax中捕获页面或句柄(Application_Error)

ASP.Net异常-在Global.asax中捕获页面或句柄(Application_Error)
EN

Stack Overflow用户
提问于 2011-01-27 18:50:20
回答 2查看 8.1K关注 0票数 1

寻找最佳实践重点的答案,在这里与解释。

应该让ASP.Net应用程序的表示层捕获并处理业务层抛出的异常,还是应该允许这些异常冒泡出来,以便在Global.ascxGlobal.ascx处理程序中统一记录和处理这些异常?

呃..。

代码语言:javascript
运行
复制
    protected void Application_Error(object sender, EventArgs e)
    {
        logExceptionDetails(Server.GetLastError());
        HttpContext.Current.Server.Transfer("~/Error.aspx");;
    }

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-27 20:13:36

我处理异常的方法是允许它们发生并用埃尔马记录它们,并使用内置的自定义错误页机制通知我的用户出了什么问题。

所有这些都可以用零代码(在web.config中配置)来完成。

票数 5
EN

Stack Overflow用户

发布于 2011-01-27 20:05:50

好吧,如果您需要真正地“处理”异常,那么您将需要在代码中尝试捕获可能发生异常的块。

您选择的方法取决于您期望事件发生的频率。如果该事件确实异常,并且是一个错误(例如意外的文件结束),则使用异常处理更好,因为在正常情况下执行的代码较少。如果事件经常发生,则使用编程方法检查错误更好。

但是,如果您正在查看“未登录”的日志异常,那么您应该像使用shown.This一样使用Global事件,这是最佳实践。实际上,如果您将其实现为HttpModule,那么您的异常处理是非侵入性的,可以插入到其他应用程序中,也可以通过简单地修改web.config文件来删除。

看看这篇关于4 4GuysFromRolla的文章

https://web.archive.org/web/20211020134127/https://www.4guysfromrolla.com/articles/081209-1.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4820504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档