黑马程序员技术交流社区

标题: 关于异常 [打印本页]

作者: 袁劲松    时间: 2014-1-20 10:17
标题: 关于异常

        子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?
作者: 黄晓鑫    时间: 2014-1-20 11:04
子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?跟父类一样的异常 可以抛比父类多的异常 如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?子类还是不可以抛比父类多的异常 要跟父类抛的异常一致 当然可以抛一个异常 Exception 如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?只能try 不能抛 不解释
作者: s476596497    时间: 2014-1-20 11:20
子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?答:子类方法抛出父类方法抛出的异常,或子异常

如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?子类方法还是抛出父类方法抛出的异常,或子异常
如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?子类方法必须扑捉异常,并处理,不可以抛出
作者: 三十而立    时间: 2014-1-20 13:22
1. 子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法是什么?
如果父类中跑出了异常,子类中,可以try可以抛。
(1)如果子类中可以处理就进行try处理。
(2)如果子类中处理不了,就进行抛出:第一,将父类中的异常直接抛出;第二,转换后抛出,即转换和自己功能相关的异常抛出,也就是所谓的异常链不能断。第三,如果希望程序停止,可以抛出运行时异常。
2. 如果父类方法抛出多个异常,那么子类在覆盖该方法时应该怎么办?
父类中抛出多个异常的处理方式可以以上处理方式相同,唯一需要注意的就是子类不能抛出比父类更多的异常,只能是父类异常的子集。
3. 如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,应该怎么办?
当父类或者接口中没有异常抛出时,此时只有一种处理方式就是必须try。




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