The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
通常情况下,特别是在Java中,方法中的一些地方可能会引发异常。通常,我们会在方法的最底部使用一个大的try
块,并使用一个单独的catch
。我们捕获所有的异常,通常甚至使用分组捕获。这有助于我们最小化异常捕获所带来的干扰。然而,这样的大型try
块会危及可维护性:在catch
块中我们无法提供适当的错误上下文。
除了使用System.out
而不是注入的依赖项之外,您认为这个Java方法有什么问题?
我认为它的try/catch块太大了。IOException
只可能由readAllLines
静态方法抛出,但该块涵盖了其他几个方法调用和语句。以下代码会更好:
现在的try/catch块仅覆盖异常可能发生的地方。没有其他东西!
为什么较小的try块更好?因为它们允许更专注的错误报告和更详细的上下文。例如,第二个片段可以改写如下:
我们能用第一个片段做同样的事吗?我们可以,但是错误信息会不准确,因为该代码块涵盖范围太大。
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-28 at 15:22