多重catch的子与父关系。

来源:1-2 Java中使用try..catch..finally实现异常处理

我是注定成为攻城狮的男人

2018-07-19 12:40

我对于这里的 子与父关系不是很理解,希望大神能够解答。

写回答 关注

4回答

  • IEwuIL7
    2019-11-22 15:41:26

    多重 catch 语句中,异常类型必须子类在前父类在后

    如果你把父类放前面就执行不到后边的了,把子类放前面,因为子类的异常信息比父类更详细。

    后面的同学如果不懂记下来就好了,实例:

    try {

                reader = new FileReader("d:/b.txt"); // 读取文件,没有b.txt这个文件的异常

                System.out.println("step1");

                char c1 = (char) reader.read();    // 文件中读取不到内容异常

                System.out.println(c1);

     

            } catch (FileNotFoundException e) {   // 文件未找到异常 - 子类异常 前面  这个更详细

                System.out.println("step2");

                e.printStackTrace();

            } catch (IOException e) {                    //文件异常 - 父类异常 后面

                e.printStackTrace();

            } 


  • 学霸985
    2019-02-22 15:43:16

    为什么看见个人你都要人家举例,看你ID,,

  • 慕粉1955146978
    2018-07-25 23:45:27

    Exception类是所有错误类的父类,子类就是InputMismatchException等


    我是注定成为...

    能举个实例吗?

    2018-07-28 17:06:53

    共 1 条回复 >

  • 张好徽
    2018-07-19 15:04:52

    捕捉到第一个错误的时候  这个catch语句以下的catch语句,程序就不会再走了,如果父类错误在子类之上,那这个子类的catch语句永远也不会执行,因为就算有错,他也会读父类的catch语句,然后直接 finally语句。

    我是注定成为...

    能举个实例吗?

    2018-07-28 17:06:44

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409773 学习 · 4341 问题

查看课程

相似问题