第70条 对可恢复的情况使用受检异常,对编程错误使用运行时异常
- 如果期望调用者能够适当地恢复,对于这种情况就应该使用受检异常
- 用运行时异常来表明编程错误
- 实现的所有未受检的可抛出结构都应该是
RuntimeException
的子类 - 对于可恢复的情况,使用受检异常;对于程序错误,则使用运行时异常。如果不知道使用哪种异常的时候,就抛出未受检的异常
思考
- 现在我们很多的代码,在入参有问题的情况下普遍会返回一个
null
或者空的List
,对于空List
还好,对于返回null
的场景,如果已经是异常情况了,其实可以直接抛出来异常,迟早后面会NPE,尽量将Exception
早抛出来