在 'try' 块中调用不抛出异常的方法
Calling methods which not throws exceptions in 'try' block
我读过一些 Java 异常处理最佳实践,但有一个时刻在我看到的任何文献中都没有描述。
只有当所有 "try" 块都成功执行时,我才会调用一些方法。调用方法是否正确,这些方法不会在 "try" 块中抛出任何异常,只是因为只有在所有块都成功执行时才需要调用它们?还是制作一个成功标志将在任何 "catch" 块中设置为 false 并仅在该标志不为 false 时才在语句后调用其他方法更好?有没有关于它的风格指南?
如果您仍然需要此方法 - 请使用 finally 块。
您也可以在任何地方使用任何方法,包括 catch 块。只需在此 catch 块中处理这些异常。就是这样 - 在你的 catch 块中提供另一个 try/catch 并根据需要进行深度处理。
你绝对可以做到这一点。如果你有一些只有在 try 块执行成功时才需要执行的东西,把它放在 try 块的末尾。不需要布尔标志。
如果您需要运行代码而不管 try 块是否执行成功,请将其放在 finally 块中。
唯一重要的是可读性。
如果要明确说明某些方法只有在try
块中的代码成功时才需要调用,那么:
- 你可以使用一些额外的逻辑来明确,
- 或者您可以使用评论来说明这一点。
这两种情况从代码中应该是显而易见的。
我读过一些 Java 异常处理最佳实践,但有一个时刻在我看到的任何文献中都没有描述。 只有当所有 "try" 块都成功执行时,我才会调用一些方法。调用方法是否正确,这些方法不会在 "try" 块中抛出任何异常,只是因为只有在所有块都成功执行时才需要调用它们?还是制作一个成功标志将在任何 "catch" 块中设置为 false 并仅在该标志不为 false 时才在语句后调用其他方法更好?有没有关于它的风格指南?
如果您仍然需要此方法 - 请使用 finally 块。 您也可以在任何地方使用任何方法,包括 catch 块。只需在此 catch 块中处理这些异常。就是这样 - 在你的 catch 块中提供另一个 try/catch 并根据需要进行深度处理。
你绝对可以做到这一点。如果你有一些只有在 try 块执行成功时才需要执行的东西,把它放在 try 块的末尾。不需要布尔标志。
如果您需要运行代码而不管 try 块是否执行成功,请将其放在 finally 块中。
唯一重要的是可读性。
如果要明确说明某些方法只有在try
块中的代码成功时才需要调用,那么:
- 你可以使用一些额外的逻辑来明确,
- 或者您可以使用评论来说明这一点。
这两种情况从代码中应该是显而易见的。