gpt4 book ai didi

java - 执行清理并将异常传递给调用者

转载 作者:行者123 更新时间:2023-12-01 15:57:19 28 4
gpt4 key购买 nike

我需要做一些初始化并清理它以防出现任何异常。我仍然希望将异常传递给调用者。问题是我现在必须将此方法声明为 throws Throwable ,然后我必须在调用者中显式处理此 throwable ,就像所有过程都不会抛出 Throwable 一样已经隐含了。是不是很蠢?


try {
init_step1();
init_step2();
}
catch (Throwable th) {
clean();
throw th;
}

最佳答案

执行此操作的一种方法是在 finally block 中执行清理,通过是否实际到达 try block 的末尾来注意是否存在异常:

boolean success = false;
try {
// Stuff here
success = true;
} finally {
if (!success) {
clean();
}
}

关于java - 执行清理并将异常传递给调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4835945/

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