A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨洋 初级黑马   /  2012-7-23 12:06  /  1750 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨洋 于 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(),什么作用,写其他的行吗?
            }
        }
        
    }
}

5 个回复

倒序浏览
catch(IOException e)
            {
                system.out.println(e.toString());//e是IOException类型的,而system.out.println()接受的参数没有IOException类型的,只有转换成能接受的String·                类型的了
            }
回复 使用道具 举报
应该可以吧,比如说打印出现异常时堆栈的信息个人理解
回复 使用道具 举报
e.toString()打印的是系统默认处理的异常信息提示,一般不这么写,java的异常处理体系有个特点就是强制性的异常处理try……catch语句,catch内是你处理的异常操作,你甚至都可以再catch语句内写成:System.out.println("哥们你出错了!");,一般的写法会抛一个运行时异常,例如:throw new RuntimeException("XX出现异常");
java的异常处理体系帮助你在可能出现异常的地方进行处理,这样可以让程序继续运行下去。并抛出异常提示信息
回复 使用道具 举报
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这个东西的。
            }
        }
        
    }
}

评分

参与人数 1黑马币 +2 收起 理由
杨洋 + 2 赞一个!

查看全部评分

回复 使用道具 举报
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是异常对象的引用,为了
                                                                 //打印出异常内容,不写也可以啊,你可以自己打印一些
                                                                                                 //提示类的信息,就是不专业了么,是吧建议还这样写。
             }
         }
         
     }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马