2014-02-14 139 views
-2

嗨,我剛開始學習Java。現在我們在課堂上學習多態性。但是我正在學習和練習異常處理。我自己做了3次,但我需要一個幫助。Java如何編程:異常處理

問題是使用外部範圍捕獲異常:編寫一個程序,顯示具有自己的try塊的方法不必捕獲try中產生的每個可能的錯誤。有些例外情況可能會涉及其他範圍,並在其他範圍內處理。

+2

什麼是_your_問題? –

+0

那麼,在你的'catch'子句中沒有指定的'try'中拋出一個異常? – PakkuDon

+0

它要我編寫一個程序。但我的言辭不太好,所以我不知道從哪裏開始。他們通常在課堂上給我們模板,我們必須填寫代碼。所以我只是想更好地理解並試圖找出如何開始。 @SotiriosDelimanolis – Lolalore

回答

1

這意味着,該方法A選擇不捕獲和處理某種類型的異常,但它只會聲明,它可能會遇到異常,不會擔心它。如果在方法A中實際發生這樣的異常,該方法將停止其執行並通知其調用方法,發生異常。這被稱爲異常拋出它將異常處理的責任傳遞給調用方法。

public void readFile(File file) throws IOException { 

    BufferedReader reader = new BufferedReader(new FileReader(file)); 
    while ((String line = reader.readLine()) != null) { 
     System.out.println(line); 
    } 
     reader.close(); 
    return cnt; 
} 

通常情況下,訪問File的內容時,你將不得不處理IOException,但這樣一來,你聲明,認爲它可能會發生,並留下其處理需要調用方法。

+0

好的,謝謝。我有點了解 – Lolalore

+0

很好的解釋!只是補充一點:它也可能是你捕捉到IoException,但不是任何可能的NullPointerException。根據我的經驗......在你的情況下,這是非常不可能的......只是爲了說明一點:你可以捕捉到一個例外(好的IDE會讓你意識到將會拋出一個Exception),但其他一些例外仍然可以通過(例如,NullPointerException不是全部拋出) – GameDroids