我们应该像这样 OR 异常吗?
catch (final CustomExceptionA | CustomExceptionB e) {
Should we catch expections like this ?
}
我们应该像这样 OR 异常吗?
catch (final CustomExceptionA | CustomExceptionB e) {
Should we catch expections like this ?
}
如果您想以完全相同的方式处理它们,这是一种很好的方法。它也只能在 Java 7(及更高版本)上编译。
在 7 之前的 Java 版本中,总是存在这样一个问题,即如果您必须捕获多个异常,但 (iE) 只需要记录它们,则您必须复制大量代码。示例 Java 6:
} catch (NullpointerException e) {
log(e);
} catch (ArrayIndexOutOfBoundsException e) {
log(e);
} catch (NumberFormatException e) {
...
在 Java 7 中,您可以使用 | 操作员来简化这一点,并且 - 重要的部分 - 只需编写一次错误处理代码,这将避免常见的错误,如复制和粘贴或类似。