小编Pat*_*ck 的帖子

当我尝试在finally块中关闭BufferedReader时,为什么eclipse会抱怨?

这是我的代码:

public static String readFile()
    {

        BufferedReader br = null;
        String line;
        String dump="";

        try
        {
            br = new BufferedReader(new FileReader("dbDumpTest.txt"));
        }
        catch (FileNotFoundException fnfex)
        {
            System.out.println(fnfex.getMessage());
            System.exit(0);
        }

        try
        {
            while( (line = br.readLine()) != null)
            {
                dump += line + "\r\n";
            }
        }
        catch (IOException e)
        {
            System.out.println(e.getMessage() + " Error reading file");
        }
        finally
        {
            br.close();
        }
        return dump;
Run Code Online (Sandbox Code Playgroud)

因此eclipse正在抱怨由此引发的未处理的IO异常 br.close();

为什么会导致IO异常?

我的第二个问题是为什么eclipse不会抱怨以下代码:

InputStream is = null; 
      InputStreamReader isr = null;
      BufferedReader br = null;

      try{
         // …
Run Code Online (Sandbox Code Playgroud)

java eclipse exception try-catch-finally bufferedreader

0
推荐指数
1
解决办法
533
查看次数