2014-10-06 56 views
0

我有一段代碼,我在工作:翻譯異常捕獲什麼

public void readFile() 
{ 
BufferedReader reader = null; 
BufferedReader reader2 = null; 
try 
    { 
    reader = new BufferedReader(new FileReader("C:/Users/user/Desktop/testing.txt")); 
    reader2 = new BufferedReader(new FileReader("C:/Users/user/Desktop/testNotThere.txt")); 
    } 
catch (FileNotFoundException e) 
    { 
    System.err.println("ERROR: FILE NOT FOUND!\n"); 
    } 
String line = null; 
try { 
    while ((line = reader.readLine()) != null) 
     { 
     System.out.print(line); 
     } 
    } 
catch (IOException e) 
    { 
    e.printStackTrace(); 
    } 
} 

雖然我明白第一個異常的片段檢測:catch (FileNotFoundException e),我希望瞭解一下第二個異常期待用於打印文本文件的行:

catch (IOException e) 
    { 
    e.printStackTrace(); 
    } 

任何人都可以解釋什麼這第二個異常正在尋找?此外,我如何測試,以確保這個異常將被拋出在片段中,就像我創建第二個BufferedReader reader2一樣?

+0

任何類型的IO錯誤。從[docs](http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#readLine()):* IOException - 如果發生I/O錯誤* – 2014-10-06 18:00:10

+0

好的,我更新了我的問題。 – ryekayo 2014-10-06 18:01:30

+0

您可以在讀取文件時刪除文件。或者更方便:'拋出新的IOException();' – 2014-10-06 18:02:23

回答