Java SE07基础复习 异常

3.10 异常
异常:运行时期发生的不正常情况
java通过面向对象的思想将问题分装成了对象,用异常类对其进行描述
throwable:无论是error,还是exception,问题发生就应该可以抛出,Throwable及其所有的子类都具有可抛性
throws,throw,凡是可以被这两个关键字所操作的类和对象都具备可抛性
throws使用在函数上,抛出的是异常类,可以抛出多个,用逗号隔开
throw使用在函数内,抛出的是异常对象,只能一个
3.10.1Error
一般不可处理,是由jvm抛出的严重性问题,一般不针对性处理,直接修改程序
3.10.2Exception
可以处理
!自定义异常,如果要让一个类称为异常类,必须要继承异常体系,只有称为异常体系的子类才有资格具有可抛性
异常的分类:
a)编译时被检测异常:只要是Exception和其子类都是,除了特殊子类RuntimeException体系
b)编译时不检测异常(运行时异常):RuntimeException及其子类
3.10.3异常捕捉
对异常进行针对性处理的方式

try
{
	//需要被检测异常的代码
}
catch(异常类 变量)//该变量用于接收发生的异常对象
{
	//处理异常的代码
	//变量.printStackTrace();jvm默认的异常处理机制就是调用异常对象的这个方法
}
finally//通常用于关闭(释放资源)
{
	//一定会被执行的代码
}

异常的注意事项:
a)多catch父类的catch放在最下面,否则编译失败
b)子类覆盖父类方法时,父类的方法如果抛出了异常,那么子类的方法只能抛出父类的异常或者该异常的子类
c)如果父类抛出多个异常,那么子类只能抛出父类异常的子集
d)父类没有抛出异常,子类只能处理,不能throws

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值