黑马程序员技术交流社区

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

作者: 張帅    时间: 2013-10-11 08:33
标题: IO异常处理》。
本帖最后由 張帅 于 2013-10-11 14:45 编辑

import java.io.*;

class FileWriterDemo
{
        public static void main(String[] args)
        {
                FileWriter fw = null;
                try
                {
                        fw = new FileWriter("k:\\demo.txt");
                        fw.write("nihao");
                }
                catch(IOException e)
                {
                        System.out.println("catch="+e.toString());
                }
                finally
        {
                        try
                        {
                                        fw.close();
                        }
                        catch(IOException e)
                        {
                                System.out.println("catch="+e.toString());
                        }
               
                }
        }
}
//问题:我这个 异常程序编译能通过,但是到了运行时就报错了怎么回事?
作者: 上篮高手    时间: 2013-10-11 08:41
你好 我在本机经过测试 没有问题   你是不是没有K盘啊 ?
作者: 喝龙血的我    时间: 2013-10-11 08:42
  1.   try
  2.                         {
  3.                                         fw.close();
  4.                         }
  5.                         catch(IOException e)
  6.                         {
  7.                                 System.out.println("catch="+e.toString());
  8.                         }
复制代码
你这个只catch了IO异常  ,没catch空指针的异常,空指针异常是运行时异常,编译期不报错
作者: 简单ai...    时间: 2013-10-11 08:47
fw = new FileWriter("k:\\demo.txt");你电脑有k盘呀,
我将你的代码中的这个路径改为fw = new FileWriter("C:\\word.txt");然后,没出现问题呀,没有抛出异常,文件中写入了nihao,运行正常
作者: 呆萌    时间: 2013-10-11 09:16
楼楼,你的存放路径写错了!


应该把fw = new FileWriter("k:\\demo.txt");中的路径改为你电脑上有的盘或者文件路径。再运行就没有问题了


BTW:1、第一个try{}catch{}中catch最好抛出RuntimeException。
           2、关流fw.close();那里要考虑空指针异常的情况。

{:soso_e115:}我懂了,你懂了没!?


作者: To    时间: 2013-10-11 09:18
楼主你好。如果问题已解决请及时修改帖子状态为提问结束,如果未解决,请继续提问,谢谢合作。




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