0

在 Main 函数中,在 try_block 引发异常后,该函数应该被中断。我的问题是如何让它继续执行到下一个 try_block。下面我举个例子:

public static void main(String [] s){
    ABC aBC = new ABC();
    try {
        aBC.execute();
    } catch (Exception e) {
        _log.error(ErrorCodeEnum.ERROR,
                "XXXXXXX!!! in " + new Date(),e);
    }
    BCD bCD = new BCD();
    try {
        bCD.execute();
    } catch (Exception e) {
        _log.error(ErrorCodeEnum.ERROR,
                "YYYYYYYYYYY!!! in " + new Date(),e);
    }
}
4

2 回答 2

0

可以肯定的是,您可以将要执行的语句包装在一个finally块中,如下所示:

ABC aBC = new ABC();

try
{
    aBC.execute();
}
catch (Exception e)
{
    _log.error(ErrorCodeEnum.ERROR, "XXXXXXX!!! in " + new Date(), e);
}
finally
{
    BCD bCD = new BCD();

    try
    {
        bCD.execute();
    }
    catch (Exception e)
    {
        _log.error(ErrorCodeEnum.ERROR, "YYYYYYYYYYY!!! in " + new Date(), e);
    }
}

finally无论外部块中是否发生异常,块中的语句都将被执行try

于 2012-05-23T02:52:24.260 回答
0

代码应该按原样工作 - 即如果第一个块抛出并捕获异常,则第二个块仍应执行。

但是,您可能想要考虑捕捉Throwable而不是Exception真的想捕捉所有东西。特别是java.lang.Error不是 Exception 的子类,而是 Throwable 的子类。

于 2012-05-23T02:34:40.690 回答