gpt4 book ai didi

java - "Rethrow"到下一个 catch 子句

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:27:47 28 4
gpt4 key购买 nike

如果有一个带有多个 catch block 的 try-catch,是否有办法将异常重新抛出到下一个(不是底层的)catch 子句?

例子:

try {

// some exception can occur here

} catch (MyException ex) {

// do something specific

// rethrow ex to next catch

} catch (Exception ex) {

// do logging stuff and other things to clean everything up
}

当抛出 MyException 时,我想处理该异常的特定内容,但随后我想处理一般异常 (catch (Exception ex))。

我不想使用 finally block ,Java 7 Multi-catch 在这里也没有帮助。

关于如何处理这个问题的任何想法,我想避免在每个 catch block 中出现冗余内容。仅捕获 Exception 然后将 instanceof 用于我的特定内容是否更好?

谢谢。

最佳答案

public void doStuff()
{
try
{

// some exception can occur here

} catch (MyException ex){

// do something specific

cleanupAfterException(ex);

} catch (Exception ex) {

cleanupAfterException(ex);
}
}

private void cleanupAfterException(Exception ex)
{
//Do your thing!
}

我想像这样的东西可以吗?

关于java - "Rethrow"到下一个 catch 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19266587/

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