嗨,我剛開始學習Java。現在我們在課堂上學習多態性。但是我正在學習和練習異常處理。我自己做了3次,但我需要一個幫助。Java如何編程:異常處理
問題是使用外部範圍捕獲異常:編寫一個程序,顯示具有自己的try塊的方法不必捕獲try中產生的每個可能的錯誤。有些例外情況可能會涉及其他範圍,並在其他範圍內處理。
嗨,我剛開始學習Java。現在我們在課堂上學習多態性。但是我正在學習和練習異常處理。我自己做了3次,但我需要一個幫助。Java如何編程:異常處理
問題是使用外部範圍捕獲異常:編寫一個程序,顯示具有自己的try塊的方法不必捕獲try中產生的每個可能的錯誤。有些例外情況可能會涉及其他範圍,並在其他範圍內處理。
這意味着,該方法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
,但這樣一來,你聲明,認爲它可能會發生,並留下其處理需要調用方法。
好的,謝謝。我有點了解 – Lolalore
很好的解釋!只是補充一點:它也可能是你捕捉到IoException,但不是任何可能的NullPointerException。根據我的經驗......在你的情況下,這是非常不可能的......只是爲了說明一點:你可以捕捉到一個例外(好的IDE會讓你意識到將會拋出一個Exception),但其他一些例外仍然可以通過(例如,NullPointerException不是全部拋出) – GameDroids
什麼是_your_問題? –
那麼,在你的'catch'子句中沒有指定的'try'中拋出一個異常? – PakkuDon
它要我編寫一個程序。但我的言辭不太好,所以我不知道從哪裏開始。他們通常在課堂上給我們模板,我們必須填寫代碼。所以我只是想更好地理解並試圖找出如何開始。 @SotiriosDelimanolis – Lolalore