gpt4 book ai didi

Java - 调用方法中的 try 和 catch

转载 作者:行者123 更新时间:2023-12-02 07:39:07 25 4
gpt4 key购买 nike

我有一个关于 Java 的基本问题:

我有两种方法:functionAfunctionBfunctionA 调用 functionB,并且 functionB 引发异常。对 functionB 的调用位于 functionA 的 try 范围内。

现在我还希望 functionA 能够进入它的 catch 范围。

有什么办法可以做到吗?

最佳答案

如果在 methodB 中抛出异常并且您捕获它,将其传播到 methodA 的一种方法是重新抛出它:

void methodB() throws SomeException {
try {
//Something that can throw SomeException
} catch (SomeException e) {
//rethrow e
throw e;
}
}

void methodA() {
try {
methodB();
} catch (SomeException e) {
//this block will run if methodB throws SomeException
}
}

但是如果您需要这样做,您可能根本不应该捕获 methodB 中的异常,而只是让它自动传播到 methodA:

void methodB() throws SomeException {
//Something that can throw SomeException: don't catch it
}

void methodA() {
try {
methodB();
} catch (SomeException e) {
//this block will run if methodB throws SomeException
}
}

关于Java - 调用方法中的 try 和 catch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11815100/

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