异常总结(受检和非受检的理解

2.17 异常

小知-- Java为什么将异常分为受检的和运行时异常?这样分的依据和好处是什么? - 知乎 (zhihu.com)

受检异常和非受检异常(从开发角度看,从API看分为error和Exception两类):

区分:通过是否需要进行处理来判断,编译时报错即需要处理(try/throws)就是受检异常

划分标准:

对于那些应该通过修正代码解决的异常,一般称之为非受检异常。其中像error和runtimeException就是非受检,只有在运行时会提示错误,这种一般都是程序员代码编写处理地有问题,像强转出错,空指针,无限递归导致的堆栈异常,数组越界等。

对于无法预料的(各种运行环境)导致的异常,称之为受检异常。最为明显就是IO流处理比如文件找不到(被删或者不存在该路径比如Z盘中某个文件),不管你怎么改代码这个文件(这个文件就可以说是在用户的运行环境提交上来的一个路径)仍然是找不到的,应该交给异常处理器去处理即(try/throws)抛出找不到文件异常。(异常处理器作用就是进行不下去将其抛出,不要在异常处理器中写处理方式抛出即可,违反单一职责原则,导致耦合度提高,代码变复杂。)
在这里插入图片描述

1

在这里插入图片描述
在这里插入图片描述

2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常见异常:

ClassCastException(类转换异常)

IndexOutOfBoundsException(数组越界)

NullPointerException(空指针) ,

ArrayStoreException(数据存储异常,操作数组时类型不一致

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值