黑马程序员技术交流社区

标题: 一个try对多个catch的问题 [打印本页]

作者: 罗雪梅    时间: 2012-9-27 15:15
标题: 一个try对多个catch的问题
本帖最后由 罗雪梅 于 2012-9-27 15:30 编辑

public class FileReaderDemo2 {
        public static void main(String[] args) {
                //声明输入流对象
                FileReader fr = null;
                try {
                        //创建输入流对象
                        fr = new FileReader("fw3.txt");
                        
                //读取文件中数据
                        int ch = 0;
                        while((ch=fr.read())!=-1){
                                System.out.print((char)ch);
                        }
                } catch (FileNotFoundException e) {
                        e.printStackTrace();
                } catch (IOException e) {
                        e.printStackTrace();
                } finally {
                        if (fr != null) {
                                try {
                                        fr.close();
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }
                        }
                }
        }

}


在try中有多条语句,这2个catch是不是都是针对第一条创建流对象的呢,读取数据不用抛异常吧,为什么一条语句能够抛出来2个异常让catch去捕捉呢



作者: 寇龙飞    时间: 2012-9-27 15:19
不是。对应异常关系如下。

fr = new FileReader("fw3.txt");------------------FileNotFoundException

fr.read();----------------------IOException
作者: 罗雪梅    时间: 2012-9-27 15:30
寇龙飞 发表于 2012-9-27 15:19
不是。对应异常关系如下。

fr = new FileReader("fw3.txt");------------------FileNotFoundException

奥,谢谢谢谢




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