2010-09-04 35 views
-2

我有類A,其中我有一個方法openfileConnec()。它是這樣寫的下面:如何在Java異常處理中處理throws子句?

public void openfileConnec() throws Exception { 
    //code for opening a file 
} 

現在我來給B類,我將調用此方法,如下面:

class B { 
    try { 
     openfileConnect() 
    } 
    catch(Exception e) { 
    } 
} 

有人問我一個問題,在採訪中,如下所示:

  1. 爲什麼該方法在其聲明中有throws Exception?是否在實現中調用的方法拋出基類異常?
  2. 此外,如果我們在調用方法(fileConnect())控制進入catch塊時遇到異常。在執行catch之後,應該將哪些內容發送到base case?

任何人都可以幫我解決這個問題嗎?提前致謝。

回答

0

openfileConnec()方法有一個throws聲明,因爲打開的文件可能會拋出IOException異常(如果文件不存在或者不可讀)。

如果此方法未在該方法中管理,則該方法必須聲明拋出異常。

1

有人問我一個問題,在接受採訪時 如下:爲什麼方法有 拋出異常在其聲明中?

因爲它想告訴方法調用者有什麼錯誤,方法調用者應該決定如何處理這個問題(Exception)。

難道就稱爲 的實現拋出基 類異常的方法呢?

這也是如此,但是一個方法可以決定拋出新的異常本身。因爲它想讓來電者自己決定不是問題。

執行捕捉應該在哪裏 控制去後,什麼應該被髮送到 基本情況?

它最多隻能調用它如何處理錯誤。 (例如顯示錯誤消息並通知用戶或執行另一個操作),直到調用者。