今天小編就爲大家分享一篇關於Java如何將處理完異常之後的程序能夠從拋出異常的地點向下執行?,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
因爲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塊放在循環裏,併爲拋出異常的語句之前建立一個條件語句,就有可能根據條件語句使下次執行的時候,跳過拋出異常的地方,向下執行。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接