簡體   English   中英

在Main函數中,try塊引發異常后,如何使其繼續執行下一個try塊

[英]In Main function, after a try block throws an exception how can I make it keep on execute the next try block

在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);
    }
}

該代碼應按原樣運行-即,如果第一個塊引發並捕獲到異常,則第二個塊仍應執行。

但是,如果您確實想捕獲所有內容,則可能要考慮捕獲Throwable而不是Exception 特別是, java.lang.Error不是Exception的子類,而是Throwable的子類。

可以肯定的是,可以將要執行的語句包裝在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);
    }
}

無論外部try塊中是否發生異常,都將執行finally塊中的語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM