Effective Java (第九章-异常)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BlueSky003/article/details/80997238

第 57 条:只针对异常的情况才使用异常

1、现在 JVM 实现上,基于异常的模式比标准模式要慢得多。
2、使用异常反而阻止现代 JVM 可能要执行的某些特定优化。
3、异常是为了异常情况下而设计的。不要将它们用于普通的控制流,也不要编写迫使它们这么做的 API 。

第 58 条:对可恢复的情况使用受检异常,对编程错误使用运行时异常

第 59 条:避免不必要的使用受检的异常

第 60 条:优先使用标准的异常

异常 使用场景
IllegalArgumentException 非 null 的参数值不正确
IllegalStateException 对于方法调用而言,对象状态不适应
NullPointerException 禁止使用 null 的情况下参数值为 null
IndexOutOfBoundsException 小标参数值越界
ConcurrentModificationException 禁止并发修改的情况下,检查到对对象的并发修改
UnsupportedOperationExeption 对象不支持用户请求的方法

第 61 条:抛出与抽象相对应的异常

1、如果不能阻止或者处理来自更低层的异常,一般的做法是使用异常转译。

第 62 条:每个方法抛出的异常都要有文档

第 63 条:在细节消息中包含能捕获失败的信息

第 64 条:努力使失败保持原子性

第 65 条:不要忽略异常

1、有一种异常可以忽略,即关闭 FileInputStream 的时候。

猜你喜欢

转载自blog.csdn.net/BlueSky003/article/details/80997238