黑马程序员技术交流社区

标题: 我不要抛出 我要try.... [打印本页]

作者: 黄兴旺    时间: 2013-7-26 10:28
标题: 我不要抛出 我要try....
本帖最后由 黄兴旺 于 2013-7-26 11:13 编辑
  1. import java.io.*;
  2. class FileReaderDemo
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.                 FileReader fr = new FileReader("demo.txt");

  7.                 int ch = 0;

  8.                 while ((ch=fr.read())!=-1)
  9.                 {
  10.                         System.out.println((char)ch);
  11.                 }

  12.                 fr.close();
  13.         }
  14. }
复制代码
哪位大神能给我演示一下怎样try的么?


作者: 梦想蓝色天空    时间: 2013-7-26 10:47
FileReader fr = null;
  try {
   fr = new FileReader("demo.txt");
   int ch = 0;
   while ((ch = fr.read()) != -1) {
    System.out.println((char) ch);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  finally {
   try {
    fr.close();
   } catch (IOException e) {
    e.printStackTrace();
   }

作者: 木、易m    时间: 2013-7-26 10:49
  1. FileReader fr =null;
  2.                  try
  3.                  {
  4.                         int ch = 0;
  5.                         fr = new FileReader("demo.txt");
  6.                         while ((ch=fr.read())!=-1)
  7.                  {
  8.                          System.out.println((char)ch);
  9.                  }
  10.                         fr.close();
  11.                  }
  12.                  catch(IOException e)
  13.                  {
  14.                          throw new RuntimeException(e);
  15.                  }
复制代码

作者: 深圳在漂移    时间: 2013-7-26 10:50
尹桥印 发表于 2013-7-26 10:34
把异常的代码放入try中,把处理异常的代码放入catch中,把关闭流的动作放入finally中,关流之前尽量对流进 ...

说得很通俗易懂,赞!
作者: jialihong    时间: 2013-7-26 10:57
import java.io.*;
class FileReaderDemo
{
        public static void main(String[] args) throws IOException
        {
                FileReader fr=null;
                try{
                          fr = new FileReader("demo.txt");
                          int ch = 0;
                          while ((ch=fr.read())!=-1)
                               {
                                    System.out.println((char)ch);
                                  }
                   } catch(IOException e){
                           throw new RuntimeExceptin("失败");
                   }
                finally{
                                 if(fr!=null)
                                 try{fr.close()}
                                 catch(IOException e){
                                      throw new RuntimeException("失败");
                                     }
                     }

               

               
        }
}
作者: 黄兴旺    时间: 2013-7-26 10:57
尹桥印 发表于 2013-7-26 10:34
把异常的代码放入try中,把处理异常的代码放入catch中,把关闭流的动作放入finally中,关流之前尽量对流进 ...

嗯嗯  现在懂的这个原理  就是不怎么会操作  正在琢磨
作者: 李政    时间: 2013-7-26 11:03
import java.io.*;

class FileReaderDemo
{
        public static void main(String[] args) throws IOException
        {
                        FileReader fr = null;//防止调用close()时 出现空指针异常
                       
                        //对new FileReader 和 read()进行处理
                        try
                        {
                fr = new FileReader("demo.txt");

                int ch = 0;

                while ((ch=fr.read())!=-1)

                {
                        System.out.println((char)ch);
                }
                        }

                        catch (IOException e)
                        {
                                throw new RuntimeException("读取错误");//如果出现错误,直接抛Runtime异常,停止程序
                        }
                                 
                        finally
                        {
                                if(fr!=null)//防止空指针异常 ,进行一次判断
                                        try//对close()进行处理
                                        {
                                                fr.close();
                                        }
                                        catch (IOException e1)
                                        {
                                                System.out.println("关闭资源异常");
                                        }
                                       
                        }
               

        }

}
作者: 黄兴旺    时间: 2013-7-26 11:06
jialihong 发表于 2013-7-26 10:57
import java.io.*;
class FileReaderDemo
{

我把 if(fr!=null)改成 if(fr==null)  会有什么区别么?
作者: 黄兴旺    时间: 2013-7-26 11:12
尹桥印 发表于 2013-7-26 11:07
你自己觉得哪些代码是要抛出异常,你就挨个的去试,去放在try里面。自己试出来的感觉用毕老师的话来说, ...

哇哈哈   爽到了。




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