您好,登錄后才能下訂單哦!
因為Java中的異常處理理論,支持的是終止模型,在這種模型中,拋出異常之后,程序無法返回到異常發生的地方向下繼續執行。但是,如果我們現在想要Java實現類似恢復模型的行為,希望異常在處理之后繼續往下進行執行,那么有什么解決的辦法嗎?
思路:
把try塊放在while循環里,這樣就能不斷的進入try塊,直到獲得滿意的結果結束。
下來看下面的程序:
package exceptions; class MyException extends Exception { } public class ContinueException { private static int count; private static final int COUNTNUMBER = 1; public static void main(String[] args) { while (true) { try { if (++count == COUNTNUMBER) { throw new MyException(); } System.out.println("Continue run after throw MyException"); } catch (MyException e) { // TODO: handle exception System.out.println("Caught MyException"); }finally { if(count == COUNTNUMBER + 1) break; } } } }
程序執行結果為:
Caught MyException
Continue run after throw MyException
從結果我們可以看到,在異常處理完之后,程序繼續向下執行了,打印出了結果。
這個程序給我們的思路就是:如果把try塊放在循環里,并為拋出異常的語句之前建立一個條件語句,就有可能根據條件語句使下次執行的時候,跳過拋出異常的地方,向下執行。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。