1
4
在这个问题上我听到的最好的建议(实际上是在某个地方)是“只有在要处理异常时才捕获它”。也就是说,只有在该方法有处理异常的方法时,才在该方法中使用catch块才有意义。例如,如果方法出于某种原因 总是 返回一个值,异常要么被自动记录,要么在值中以某种方式指示(例如附加到某个自定义DTO或其他东西的错误消息)。在堆栈中向上冒泡异常并假设调用方将处理它,这没有什么错。 当然,这并不是说根本不应该处理。正如您所建议的,最后一道防线应该始终是应用程序的全局异常处理。所有的失败都应该被优雅地处理,但更重要的是,它们应该只由应该处理它们的类/方法来处理,在许多情况下,这个类/方法并不是异常产生的方法。例如,在一个简单的表单over data web应用程序中,数据访问不一定需要处理异常。如果相关的话,它可以向其中添加信息,但是对于这样一个简单的应用程序,全局错误处理程序可以负责记录和显示错误消息。
还应该注意(我假设您在这里指的是.NET)的
|
2
1
我同意大卫的看法。这是我的基本规则,或者。。。就像海盗守则,指南。。。
|
3
1
我发现将代码看作有三层,并使用适合每一层的异常策略是有帮助的。我把细节写在 Exceptions in the Rainforest . |
lfox · 如果列中不存在某个值,则停止代码执行 2 年前 |
zaen · 将值传递到异常字符串消息中 2 年前 |
Zephyr · 如何在双ListView选择系统上实现过滤器? 6 年前 |
Aave · 错误数组长度的特定异常 6 年前 |