0

我们应该像这样 OR 异常吗?

catch (final CustomExceptionA | CustomExceptionB e) {

       Should we catch expections like this ? 
    }
4

2 回答 2

6

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

于 2013-10-12T00:14:19.197 回答
-1

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

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

在 Java 7 中,您可以使用 | 操作员来简化这一点,并且 - 重要的部分 - 只需编写一次错误处理代码,这将避免常见的错误,如复制和粘贴或类似。

于 2013-10-12T00:35:30.307 回答