捕获所有异常是好是坏?

2024-02-09

我在多个项目中看到一种捕获所有异常来捕获所有意外异常,这样应用程序就不会崩溃,我通常会看到这样的情况:

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(myUnexpectedExhandler);
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(threadExHandler);

这是好还是坏做法。


在项目顶层捕获异常是很好且正确的。在那里,您可以做一些事情,例如记录它、向您的团队报告详细信息等。如果可能的话,绝对应该在某个地方发布异常——这对于开发坚如磐石的产品有很大帮助(请参阅 Jeff Atwood 的博客文章“异常驱动开发 http://www.codinghorror.com/blog/2009/04/exception-driven-development.html”对此的评论)。

不好的做法是在调用堆栈中不恰当地捕获异常。唯一应该捕获异常的时候是当您确切地知道如何处理它时。当然,你不应该、永远、永远、永远默默地接受例外。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

捕获所有异常是好是坏? 的相关文章

随机推荐