- Java code
FileInputStream in = null; try { in = new FileInputStream("d:\\TestFileInputStream.java"); } catch (FileNotFoundException e) { System.out.println("找不到指定文件"); System.exit(-1); }
上面这段代码没有异常,但是稍微调整声明方式,就会有问题
- Java code
//FileInputStream in = null; try { FileInputStream in = new FileInputStream("d:\\TestFileInputStream.java"); } catch (FileNotFoundException e) { System.out.println("找不到指定文件"); System.exit(-1); }
什么问题呢,IO 声明有什么特殊么??
------解决方案--------------------
你下面那段代码的in声明在作用域try里
后面就不可见了
------解决方案--------------------
FileInputStream in = new FileInputStream("d:\\TestFileInputStream.java");只在try块中有效。
出了这个块就超出作用域了