Java异常与异常链

Java异常与异常链

一、受检异常,非受检异常

编译器在编译时,对于受检异常必须进行try…catch或throws(函数头声明)处理,否则无法通过编译,不受检异常没有这个约束

RuntimeException:
又叫uncheckedException,可以这么理解,是由于程序员没好好检查而出来的异常,比如ArrayIndexOutOfBoundsException。这类异常一般都会自动处理,例如停止程序等。它不必须用try……catch或者throws处理,而且最好不用这些处理。因为就算处理了,程序还是错误的。捕获它并且使程序恢复运行并不是明智的办法,因为即使程序恢复运行,可能会导致程序的业务逻辑错乱,导致更严重的异常,或者得到错误的运行结果

CheckedException:
可以这么理解,程序员好好检查代码了,之后还是会出来的异常。一般是由于不正确的输入导致的。比如,要求用户输入数字的时候,他偏偏输了个a,这时候就会发生CheckedException,程序这时候应该捕获这个异常,并作出相应的处理,比如提醒用户输入错误。在用户正确输入后,继续程序的正常执行。捕获到受检异常之后一般处理办法是输出错误日志,或者给用户一些提示。

通过下面两篇文章进行的学习:
[https://blog.csdn.net/nlznlz/article/details/53271045]
[https://blog.csdn.net/zealfory/article/details/78903089]

二、异常链机制
有时候异常是用来告诉我们哪里出错了,好让我们处理它。当底层出异常时,抛出来,我们要用它上一层的异常再捕获它,层层捕获,送到最上层让我们看见。并且它要保留原始的异常信息。这时候就是要采用异常链机制。

通过下面一篇文章进行的学习:
[https://blog.csdn.net/weixin_38719347/article/details/80944057]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值