调用不会在'try'块中抛出异常的方法

时间:2015-06-16 15:12:57

标签: java exception optimization exception-handling

我已经阅读了一些处理最佳实践的Java异常,但是有一个时刻在我看到的任何文献中都没有描述。 只有在所有“try”块成功执行后,我才会调用一些方法。调用方法是否正确,它们不会在“try”块中抛出任何异常只是因为只有在所有块都成功执行时才需要调用它们?或者更好的做一个成功标志,它将在任何“catch”块中设置为false,并且仅在标志不为false时才在语句后调用其他方法?关于它有任何风格指南吗?

3 个答案:

答案 0 :(得分:4)

你绝对可以做到这一点。如果只有try块成功执行时才需要执行某些操作,请将其放在try块的末尾。布尔标志是不必要的。

如果您需要运行代码而不管try块是否成功执行,请将其放在finally块中。

答案 1 :(得分:3)

如果你还需要这个方法 - 使用finally块。 此外,您可以在任何地方使用任何方法,包括catch块。在这个catch块中也可以处理这些异常。就是这样 - 在你的catch块中提供另一个try / catch,并在必要时尽可能深入。

答案 2 :(得分:1)

唯一重要的是可读性。

如果您想明确清楚只有当try块中的代码成功时才需要调用某些方法,那么:

  • 你可以使用一些额外的逻辑来明确,
  • 或者您可以使用评论来明确这一点。

在这两种情况下都应该从代码中看出来。