1、使用异常而非返回码
返回码扰乱了正常的处理逻辑
2、先写try-catch-finally语句
异常定义了一个范围,try的主体剥离出来为一个函数主体。
3、使用非受检异常
受检异常违反了开放-闭合原则。如果低层级有异常声明,则高层级函数的签名也得修改。
4、定义异常时考虑他们如何被捕获
统一应用系统的内部异常,并在低层进行捕获转译,抛出归类后的异常,就不用在高层逐个逐个捕获。
5、不要返回null
如果你打算在方法中返回null,还不如抛出异常或者返回特例对象
6、方法中不要传递null值
precondition校验