异常在子父类覆盖中的体现
来源:互联网 发布:iphone蓝牙传输软件 编辑:程序博客网 时间:2024/06/10 00:35
异常在子父类覆盖中的体现:
1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或该异常的子类或者不抛
2.如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集
比如:父-- ABCDE 子 -- ABC或BDE等
3.如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常
处理后,转换新的异常
catch是用于处理异常,如果没有catch就代表异常没有被处理过,如果该异常是检测时异常,那么必须声明
1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或该异常的子类或者不抛
2.如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集
比如:父-- ABCDE 子 -- ABC或BDE等
3.如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常
如果子类方法发生了异常,就必须要进行try处理,绝对不能抛
异常的好处:
1.将问题进行封装
2.将正常流程代码和问题处理代码相分离,方便于阅读。
异常的处理原则
1.处理方式有2种 try或者抛(throws)
2.调用到抛出异常的功能时,抛出几个就处理几个 一个try对于多个catch的情况
3.多个catch,父类的catch放在最下面
4.catch内,需要定义针对性的处理方式,不要简单的定义printStackTrace,或输出语句,也不要不写
当捕获到的异常,本功能处理不了时,可以继续在catch中抛出
try{throw new AException();}catch(AException e){throw e;}如果该异常处理不了,但并不属于该功能出现的异常,可以将异常转换后,再抛出和该功能相关的异常
try{throw new AException();}catch(AException e){throw new BException();}或者异常可以处理,但需要将异常产生的和本功能相关的问题提供出去,让调用者知道并处理,也可以将捕获异常
处理后,转换新的异常
try{throw new AException();}catch(AException e){//对AException处理throw new BException();}
catch是用于处理异常,如果没有catch就代表异常没有被处理过,如果该异常是检测时异常,那么必须声明
0 0
- 异常在子父类覆盖中的体现
- 异常在子父类中的覆盖体现
- 异常在子父类覆盖中的体现
- 异常在子父类覆盖中的体现
- 黑马程序员--异常在子父类覆盖中的体现
- java面向对象-异常在子父类覆盖中的体现
- 异常在子父类中的体现
- Java基础之异常Exception---异常在子父类覆盖中的体现
- 子父类覆盖方法的异常体现
- 异常Exception 在VS2005 中的体现
- 数据结构在游戏中的体现
- chunk在nodejs中的体现
- 多态在子父类中的成员上体现的特点
- java151229Demo异常在父子类中的覆盖问题
- 关于MVC在Rails中的体现
- 继承和引用在buiw中的体现
- 设计模式在buiw中的体现
- “破窗理论”在编码中的体现
- matlab 使用libsvm工具箱进行手写数字识别
- 226. Invert Binary Tree
- colorama==>python改变输出字体颜色
- OEM
- Java泛型通配符
- 异常在子父类覆盖中的体现
- React-Native组件之 Navigator和NavigatorIOS
- 接口类
- JavaScript--闭包(closure)理解
- Clarke and MST HDU
- ORACLE 中的复合变量的使用
- jQuery图片放大镜插件——jqzoom
- Shell学习笔记
- 经典面试题(一)