Effective Java 读书笔记之八 异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Effective Java 读书笔记之八 异常相关的知识,希望对你有一定的参考价值。

一、只针对异常的情况才使用异常

  1、类具有状态相关的方法时,可采用状态测试方法和可识别的返回值两个策略。

二、对可恢复的情况使用受检异常,对编程错误使用运行时异常

  1、期望调用者能够适当恢复的情况,应该使用受检的异常。

  2、用运行时异常来表明编程错误。

三、编码不必要地使用受检异常

  1、使用受检异常的两个条件:

    a、正确地使用API并不能阻止这种异常条件的发生

    b、异常发生后,使用API的程序员可以立即采取有用的动作。

四、优先使用标准的异常

  1、IllegalArgumentException

  2、IllegalStateException

  3、NullPointerException

  4、IndexOutOfBoundsException

  5、ConcurrentModificationException

五、抛出与抽象层次相对应的异常

  1、每层的实现应该对底层传递上来的底层异常进行转译。

  2、如果底层的异常对调试高层异常有帮组,可采用异常链形式转译。

  3、高层策略是优先阻止或处理底层异常,做不到时才进行异常转译。

六、每个方法抛出的异常都要有文档

七、在细节消息中包含能捕获失败的信息

  1、异常的细节信息应该捕获住失败,便于以后分析。

  2、IndexOutOfBoundsException是一个比较好的例子。

八、努力使失败保持原子性

  1、失败的方法调用应该使对象保持在调用之前的状态,此种方法具有失败原子性。

  2、保持失败原子性的几个策略

    a、使用不可变类的对象

    b、执行操作之前检查参数的有效性

    c、调整处理过程,让可能失败的判断在改变对象状态之前发生

    d、编写一段恢复的代码

    e、执行临时的拷贝操作

九、不要忽悠异常

  1、例外情形是FileInputStream

以上是关于Effective Java 读书笔记之八 异常的主要内容,如果未能解决你的问题,请参考以下文章

[读书笔记]《Effective Java》第10章并发

《Effective C++》读书笔记汇总

java effective 读书笔记

[读书笔记]Effective Java 第一章

Effective Java2读书笔记-类和接口

Effective Java2读书笔记-类和接口