gpt4 book ai didi

java - 捕获多个异常时的特定和相同操作

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:14:59 24 4
gpt4 key购买 nike

我想以不同的方式处理两种不同类型的异常,然后对两种异常类型执行一些相同的操作。如何在 Java 中做到这一点?

下面的代码显示了我想做的事情,但它是不正确的,因为一个异常不能被捕获两次。

正确的语法是什么?

try {
// do something...
}
catch (ExceptionA e) {
// actions for ExceptionA
}
catch (ExceptionB e) {
// actions for ExceptionB
}
catch (ExceptionA | ExceptionB e) {
// actions for ExceptionA & ExceptionB
}

最佳答案

使用 catch (ExceptionA | ExceptionB e) 结构。在 catch block 中,首先执行 instanceof 检查 e 并分别处理异常类型。在此之后,对两种类型进行通用处理。这样你就可以在一个 catch block 中完成所有事情:

try {
// do something...
} catch (ExceptionA | ExceptionB e) {
if (e instanceof ExceptionA) {
// handling for ExceptionA
} else {
// handling for ExceptionB
}
// common handling for both exception types
}

关于java - 捕获多个异常时的特定和相同操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31878763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com