2020-08-07

关于Java异常最详细透彻的理解(6)

总结

  1. 编译时异常是代码本身不存在逻辑,语义上错误,一般是IOException这种(可以在运行过程中,通过与IO的交互来达到一个代码的修正,比如可以在FileInputStream里面,让用户一直输入文件路径,通过try catch加循环最终达到让用户输入一个正确路径。---即调用方能够直接处理的异常情况),可以改变输入或者输出来修正该异常,不需要对代码本身做修改,需要做出改变的是外部世界。

  2. 而运行时异常则是代码本身有逻辑上的错误,需要手动修改,即需要做出改变的是外部世界,一般不建议对其进行捕获处理,由运行时的jvm自动将其抛出。因为捕获处理没有意义(处理的本意在于提高程序健壮性,解决代码逻辑问题),因为不可能在程序执行过程中对自身的代码(如3/0这类ArithmeticException运行时异常)做出修改(3/0属于代码本身,我们不需要进行处理,只需要运行后jvm自动发现这个运行时异常打印到控制台,让我们手动修改就好了。---runtime exception用来指示一种调用方法本身无法处理/恢复的程序错误。而程序错误通常是无法在运行过程中处理的,必须改正程序代码)

启示:我们在开发过程中,在自定义方法里面调用别人写的某个方法(已封装),如果此方法中有运行时异常,我们作为方法调用者,是无法去修改代码的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值