在Java中,catch块中的OR异常是一个好主意吗?

时间:2013-10-12 00:11:56

标签: java

我们应该像这样的OR例外吗?

catch (final CustomExceptionA | CustomExceptionB e) {

       Should we catch expections like this ? 
    }

2 个答案:

答案 0 :(得分:6)

如果你想以完全相同的方式处理它们,这是一个很好的方法。它也只能在Java 7(及以上版本)上编译。

答案 1 :(得分:-1)

在7之前的Java版本中,始终存在这样的问题:如果必须捕获多个异常,但(i.E.)只需要记录它们,则必须复制大量代码。示例Java 6:

} catch (NullpointerException e) {
  log(e);
} catch (ArrayIndexOutOfBoundsException e) {
  log(e);
} catch (NumberFormatException e) {
...

在Java 7中,您可以使用|运算符来简化这个 - 重要的部分 - 只需编写一次错误处理代码,这将避免像copy和amp;这样的常见错误。粘贴或类似。

相关问题