我们应该像这样的OR例外吗?
catch (final CustomExceptionA | CustomExceptionB e) {
Should we catch expections like this ?
}
答案 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;这样的常见错误。粘贴或类似。