我发现捕获 RuntimeException 通常被认为是不好的做法,因为它们无法纠正并且通常是程序员错误。
然而,我们有一个(疯狂的)大型应用程序,其中任何部分的更改都可能产生不可预见的后果(是的,这本身就是一个问题).
现在,我们开始在应用程序的顶层捕获和记录 RuntimeExceptions,这样我们就可以更有效地解决出现的此类出血问题。
像每个优秀的 Java 团队一样,我们有一个可爱的、热心的 Uncle Bob 追随者,他绝对禁止我们这样做。
这样做到底有多糟糕?难道真的没有任何情况可以接受甚至推荐这样做吗?
捕获 RuntimeException 不是问题,它们是异常,因此可以捕获并正确处理它们。如果 Java 开发人员希望您不要捕获 RuntimeException,他们会将其命名为 RuntimeError。
不好的是捕获 RuntimeException,默默地丢弃它们并继续运行,就像什么都没发生一样。 RuntimeExceptions 用于通知开发人员/用户程序明显离开预期状态的关键问题和情况。至少应该记录下来,并且您应该尝试使程序恢复到舒适的状态。
在发生如此严重的故障后是否可以继续完全取决于您的应用程序。网络服务器即通常捕获所有异常和错误,然后重新启动相应的 Servlet,以便它们可以继续服务请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)