黑马程序员技术交流社区

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

作者: 杨洋    时间: 2012-7-23 12:06
标题: IO异常
本帖最后由 杨洋 于 2012-7-23 14:08 编辑

import javaio.*;

class FileWriterDemo2
{
    public stotic void main(String[] args)
    {
        FileWriter fw=null;
        try
        {
            fw = new FileWriter("demo.txt");
            fw.write("abcdksl");
            
        }
        catch(IOException e)
        {
            system.out.println(e.toString());
        }
        finally
        {
            try
            {
                if(fw!=null)
                    fw.close();
            }
            catch(IOException e)
            {
                system.out.println(e.toString());//这为什么要写e.toString(),什么作用,写其他的行吗?
            }
        }
        
    }
}

作者: 李东升    时间: 2012-7-23 12:14
catch(IOException e)
            {
                system.out.println(e.toString());//e是IOException类型的,而system.out.println()接受的参数没有IOException类型的,只有转换成能接受的String·                类型的了
            }
作者: 王贵朝    时间: 2012-7-23 12:19
应该可以吧,比如说打印出现异常时堆栈的信息个人理解
作者: 吴立杰    时间: 2012-7-23 12:36
e.toString()打印的是系统默认处理的异常信息提示,一般不这么写,java的异常处理体系有个特点就是强制性的异常处理try……catch语句,catch内是你处理的异常操作,你甚至都可以再catch语句内写成:System.out.println("哥们你出错了!");,一般的写法会抛一个运行时异常,例如:throw new RuntimeException("XX出现异常");
java的异常处理体系帮助你在可能出现异常的地方进行处理,这样可以让程序继续运行下去。并抛出异常提示信息
作者: 党巾水    时间: 2012-7-23 13:12
import javaio.*;

class FileWriterDemo2
{
    public stotic void main(String[] args)
    {
        FileWriter fw=null;
        try
        {
            fw = new FileWriter("demo.txt");
            fw.write("abcdksl");
            
        }
        catch(IOException e)
        {
            system.out.println(e.toString());
        }
        finally
        {
            try
            {
                if(fw!=null)
                    fw.close();
            }
            catch(IOException e)
            {
                system.out.println(e.toString());//这为什么要写e.toString(),什么作用,写其他的行吗?//可以写成其他的,catch块里写什么都行,目的就是在程序出现异常时如何处理。比如你可以做的更加人性化,打印个“对不起,您的操作不成功”,或者是执行一段程序,或者是任何你希望在出现问题时的处理方法。这个e可以理解为一个对象,一个IOException类型的对象,然后调用它的方法。打印出来。事实上,在这个{}里,你完全可以不管e这个东西的。
            }
        }
        
    }
}

作者: 刘海源    时间: 2012-7-23 13:30
import javaio.*;

class FileWriterDemo2
{
     public stotic void main(String[] args)
     {
         FileWriter fw=null;
         try
         {
             fw = new FileWriter("demo.txt");
             fw.write("abcdksl");
            
         }
         catch(IOException e)
         {
             system.out.println(e.toString());
         }
         finally
         {
             try
             {
                 if(fw!=null)
                     fw.close();
             }
             catch(IOException e)
             {
                 system.out.println(e.toString());//写e.toString()是因为e是异常对象的引用,为了
                                                                 //打印出异常内容,不写也可以啊,你可以自己打印一些
                                                                                                 //提示类的信息,就是不专业了么,是吧建议还这样写。
             }
         }
         
     }
}




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