黑马程序员技术交流社区

标题: java IO异常处理 [打印本页]

作者: 张俊飞    时间: 2013-12-19 19:01
标题: java IO异常处理
下面是我学习IO时写的一个异常处理程序,分享一下

public class FileWriterTest {

public static void main(String[] args) {
  //建立FileWriter对象,函数外建立,函数内初始化
  FileWriter fw = null;
  //异常处理
  try
  {
   fw = new FileWriter("test.txt");
   fw.write("黑马程序员");
  }
  catch(IOException e)
  {
   //输出异常
   System.out.println(e.toString());
  }
  finally
  {
   try
   {
    //关闭流
   fw.close();
   }
   catch(IOException e)
   {
    System.out.println(e.toString());
   }
  }
}
}
作者: 青出于蓝    时间: 2013-12-20 14:00
个人提点建议:
1.java异常的输出也可以使用
catch (IOException e) {
       e.printStackTrace();
}
printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因.
2.对于try...catch...finally语句块
finally是总会执行的,即使try里捕捉了异常也会执行finally里的语句,所以在finally里关闭流
应该进行一次判断,减少异常的发生。写入文件时 new FileWriter("test.txt")没有该目标文件会自己创建一个,但是对于读取文件时new FileReader("test.txt")如果找不到目标文件,系统会抛出FileNotFoundException,此时FileWriter对象为空,执行finally里的关闭流失会发生空指针异常应该避免,所以finally里最好进行非空验证。
try {
        if(fw!=null){
                fw.close();
        }
} catch (IOException e) {
    e.printStackTrace();
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2