异常在子父类覆盖中的体现

异常在子父类覆盖中的体现:
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就代表异常没有被处理过,如果该异常是检测时异常,那么必须声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值