【笔记70】对可恢复的情况使用受检异常,对编程错误使用运行时异常

Java程序设计语言提供了三种可抛出结构(throwable):受检的异常(checked exception),运行时异常(run-time exception)和错误(error)。

  • 「受检异常」即 IOException(I/O 输入输出异常),包括 IOException 及其子类异常,是指编译器在编译期间要求必须得到处理的那些异常,你必须在编译期处理了。
  • 「非受检异常」即 RuntimeException(运行时异常)。
  • 「Error 」是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题

常见的非检查性异常

常见的检查性异常:

在决定使用受检的异常或者未受检的异常时,主要的原则是:如果期望调用者能够适当地恢复,对于这种情况就应该使用受检的异常。通过抛出受检的异常,强迫调用者在一个catch子句中处理该异常,或者将它传播出去。因此,在方法中声明要抛出的每个受检异常,都是对API用户的一种潜在指示:与异常相关联的条件是调用这个方法的一种可能结果。

总之,对于可恢复的情况,使用受检的异常;对于程序错误,则使用运行时异常。当然,情况并不总是那么黑白分明,,如果你相信有一种情况可能允许恢复,就使用受检异常。如果不清楚是否能恢复,就使用未受检的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值