java 提供了异常处理机制_java异常处理机制

java异常处理机制

引言

异常又叫例外,是程序运行过程中发生的错误,处理这些异常成为异常处理。一些语言通过返回值判断来对程序是否发生异常进行判断,然后根据不同返回值进行相应的处理。这样做又以下几种劣势:

1. 首先主程序与处理异常的程序混合在一起,造成程序过于庞杂,程序的可读性变差

2. 不同程序员对返回值的理解不统一,程序的可维护性不够

3. 没有一种机制能够保证程序的异常一定被处理,可能造成系统内存的泄漏

针对上面这些问题,java提供了很好的解决思路:

java提供统一的异常处理机制:当一个方法产生异常,java虚拟机产生一个异常对象,该对象携带异常发生时的状态信息,方法调用可以捕获异常,也可以回避异常,异常就会沿着方法调用栈向上传递(如果所有的方法都没有捕获异常,异常会被java虚拟机处理),java处理完异常后,程序会执行异常发生的下一句。

java异常框架

dd62fbf78711676296a49a8ad758fe03.png

java的异常可以分为两类:error和Exception:error是一种严重的错误,不恢复的错误,在程序中不需要进行处理。RunTimeException是一种程序运行过程中出现的错误,不需要捕获

一般的Exception是一种需要进行异常处理的异常

java异常处理机制

java有两种异常处理机制:

1. 使用try{}catch{}finally{}进行处理,自己处理

2. 使用throws和throw进行处理,方法的调用者处理

-----------------------------------------------------

1. 使用try将可能发生异常的代码包住,当发生异常,java虚拟机产生一个异常对象,程序调到第一个catch块,对异常进行匹配,直到匹配到最后一个catch,还是没有匹配上,则将异常抛到程序的调用处。

异常被匹配三种条件:

1. 被捕获的异常和catch的异常类型一致

2. 被捕获的异常时catch的异常的子类

3. 被捕获的异常是catch的异常的接口的实现

------------------------------------------------------

throws在程序的声明处,代表这段程序可能抛出的异常

throw代表如果代码发生异常就会被抛出。

------------------------------------------------------

异常处理的原则:

1. 处理异常,不要忽略它

2. 只捕获特定的异常,不要一次捕获所有的异常

3. 善于使用finally块

4. try语句不要过大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值