Java-异常

Java-异常

1 概念

异常就是错误的一种说法,是Java中提供的一种机制,有效的使用异常可以使我们的程序更加的健壮且易于调试

2 产生原因

1 用户输入非法的数据

2 要找的文件不存在

3 网络中断

4 内存溢出

如果不解决这些异常就会导致程序生命周期终止(错误代码之后的代码就不执行了)

3 处理方式

3.1 try…catch…

解决异常,一般用在客户端

3.1.1 用法一

image-20210628184404053

3.1.2 用法二
try{
高风险代码;
}catch(异常类型 变量){
解决方案;
}catch(异常类型 变量){
解决方案;
}
1 多个catch从上到下必须是从子类到父类,否则会因为多态的原因把子类的异常对象也捕捉,导致子类异常永远执行不到
2 多个catch如果异常没有继承关系,也就无所谓顺序
3 多个catch只会有一个catch执行,最先出错的语句开始,try就终止了,所以只能报出一种错误

image-20210628184948574

3.1.3 用法三

1.7开始,多个catch如果有些处理操作相同,可以使用|隔开,统一处理相同的操作

异常类型|异常类型|异常类型… 变量,多个异常类型中,不能有继承关系,如果碰到有继承关系的就直接写父类

image-20210628185226915

3.1.4 用法四

image-20210628185255042

3.2 throws

抛出异常,一般用于类库端(服务端),提醒调用出让他解决问题

3.2.1 用法一

image-20210628185325668

throws多个异常也可以,用逗号隔开

public static void main(String[] args) throws Exception.FileNotFoundException,IOException

3.3 throw

异常源,创建一个异常的

3.4 finally语句块

必须执行的语句块

3.4.1 基本使用

有时候我们会碰到在程序出错的情况下某些代码必须要执行

比如 关闭资源,此时可把该代码放在finally语句中

1 finally 不能单独出现

2 可以和try一起使用

3 也可以和try…catch…一起使用

4 finally语句一定会执行,唯一一种不执行的情况就是System.exit()关闭虚拟机

image-20210628190121404

3.5 自定义异常

异常也是一个类,只不过该类一般用于描述出现了某种错误

image-20210628190352549

4 继承体系

Throwable是异常类的根类

​ 直接子类:Exception和Error

​ Error;一般我们解决不了,比如栈内存溢出问题

​ Exception:运行时异常(RunTimeException)和编译时异常(检查时异常)

5 注意事项

image-20210628190159617

6 更宽泛的异常

子类覆写的方法,抛出的异常,只能是父类抛出的异常或者是父类抛出的异常类的子类

小于等于关系

image-20210628190303923

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值