57.只针对异常的情况才使用异常

一句话: 在合理的情况下再去使用try-catch,不要试图通过try-catch来控制程序流程,JVM不会优化 try-catch中的代码块。涉及到循环遍历的代码块尽量不要try-catch。

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

一句话: 三种可抛出结构[checked exception,run-time exception,error],尽量减少受检异常的出现,一般这种异常都可以通过方法对对象本身可能出现异常的状态标识进行检测后给出解决方案来避免。

59.避免不必要的使用受检的异常

一句话: 同58条,通过方法返回某方法是否该抛出异常(boolean),然后把受检异常变成未受检异常(run-time exception)

60.优先使用标准的异常

一句话: 接59条,官方已经定义出一些常用RuntimeException,所以如果是非业务异常就尽量使用官方定义的而不是自己再去定义一套异常。(例如:NullPointerException)

61.抛出与抽象相对应的异常

一句话: 还没仔细理解

62.每个方法抛出的异常都要有文档

一句话: 恩,尽量描述出你定义的异常所触发的条件及具体情况吧。