簡體   English   中英

何時拋出 java 異常

[英]When is a java exception thrown

請參閱下面的偽代碼方法。 如果調用readUrls()拋出異常,是不是意味着closeConnection()不會被執行,程序流會返回到調用getdata()的方法?

謝謝

getdata() throws Exception
{
     setup();
     readUrls();
     closeConnection();
}

你的假設是正確的。 為避免這種情況,您可以執行以下操作:

getdata() throws Exception
{
    setup();
    try { 
        readUrls();
    } finally {
        closeConnection();
    }
}

是的,如果readUrls()拋出異常,流程將返回到調用getdata()的方法,同樣的事情也會發生,直到:

  • 有一個catch塊,處理異常
  • 異常冒泡到主方法/線程的run方法。

當拋出異常時,當前方法調用被中斷並立即返回。 使用 try-catch-finally 模式關閉連接(在 finally 語句中使用 closeConnection())

這取決於您是否沒有在readUrls()中處理異常,那么是的,您所說的是正確的。 這意味着您在readUrls()方法中沒有try...catch

暫無
暫無

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

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