在 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
}
我从我的子方法和嵌套方法中抛出多个错误。不同类型的异常来自它们。 例如:"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
}