Java如何將處理完異常之後的程序能夠從拋出異常的地點向下執行?

今天小編就爲大家分享一篇關於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塊放在循環裏,併爲拋出異常的語句之前建立一個條件語句,就有可能根據條件語句使下次執行的時候,跳過拋出異常的地方,向下執行。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章