繁体   English   中英

在 JAVA 的 Catch 块中处理多个 Throwable

[英]Handle Multiple Throwable In A Catch Block In JAVA

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

我想写一些干净的代码。我不想使用重复的东西。 是否有任何其他方式或方法来实现这一点。

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

所以如果你得到一个 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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM