这一篇作者没有给出明确的tips,只是在最后总结有提到受检异常可以提升可读性,但过度的受检异常会使得API使用起来非常痛苦。同时要根据情况来决定是否抛出异常以及抛出什么异常。
书中提到用来避免抛出异常的方法,也就是拆成两个,一个用来判断数据的合理性返回布尔值,第二个根据上一个的返回值来决定如何处理。这么做就是简单地对数据进行校验,用来避免系统后续动作发生的问题。这一个在我们系统中就是经常做校验,然后通过OperationResult在整个过程中传递errorMessage。
还有提到的就是出现多种情况会有要写多个catch代码块,这一点其实我个人认为某些业务中确实会发生不同的问题,比如之前有处理过得锁问题,需要抛出autoRetryException,而在外面调用的catch代码块中根据exception的类来确定要不要retry。不同的exception有不同的处理方式是必要且合理的。