异常有哪些分类?

所有异常都是 Throwable 的子类,分为 Error 和 Exception。Error 是Java 运行时系统的内部错误和资源耗尽错误,例如 StackOverFlowError 和 OutOfMemoryError,这种异常程序无法处理。


Exception 分为受检异常和非受检异常,受检异常需要在代码中显式处理,否则会编译出错,非受检异常是运行时异常,继承自 RuntimeException。


受检异常:
① 无能为力型,如字段超长导致的 SQLException。
② 力所能及型,如未授权异常 UnAuthorizedException,程序可跳转权限申请页面。常见受检异常还有FileNotFoundException、ClassNotFoundException、IOException等。


非受检异常:
① 可预测异常,例如IndexOutOfBoundsException、NullPointerException、ClassCastException
等,这类异常应该提前处理。
②需捕捉异常,例如进行 RPC调用时的远程服务超时,这类异常客户端必须显式处理,
③ 可透出异常,指框架或系统产生的且会自行处理的异常,例如 Spring的
NoSuchRequestHandingMethodException,Spring会自动完成异常处理,将异常自动映射到合话的状态码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值