2014-10-06 65 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

回答