在 JAVA 中处理 Catch 块中的多个 Throwable

Handle Multiple Throwable In A Catch Block In JAVA

我从我的子方法和嵌套方法中抛出多个错误。不同类型的异常来自它们。 例如:"NullPointer Exception,Connect Exception,IllegalState Exception"。我可以在一个 catch 块中使用多个 catch 块或多个 if 语句来捕获它们。

我想写一些干净的code.I不想使用重复的东西。有没有其他的方式或方法来实现这个。

我认为异常分为两类:一类是您需要修复的,一类是您的用户需要修复的。

因此,如果您收到 NullPointerException,则您应该解决这个问题。

同样,在 ConnectException 的情况下,这可能是要向用户报告的内容。这不是编程问题,而是网络问题。

您所描述的是将多个 catch 块折叠在一起。至少从 Java 8.

开始,这是可能的

下面是捕获三种不同异常类型并以相同方式处理它们的示例:

try {
    // do things here
} catch (IllegalAccessException | IllegalStateException | ConnectException e) {
    // handle exceptions here
}

您也可以有多个折叠的 catch 块。这是一个例子:

try {
    // do things here
} catch (IllegalAccessException | IllegalStateException | ConnectException e) {
    // handle exceptions here
} catch (IllegalArgumentException | IllegalMonitorStateException e) {
    // handle these exceptions differently from the first set
}