错误处理
因为到处都是凌乱的错误处理代码,如果它搞乱了逻辑,就是错误的做法
使用异常而不是返回码
try{
tryToShutDown()
} catch(Execption e){
logger.log(3);
}
先写try-catch-finally语句
- ty-catch 结构定义了一个范围,然后我们可以根据try-catch继续进行测试
使用不可控异常
- 可控异常有时候是可以用的,而且是有好处的
可控异常的待解就是,违法开放/闭合原则
[warning] 如果你在方法中抛出可控异常,而catch语句在三个层次之上,你就得在catch语句中和抛出异常的每个方法签名中声明该异常
给出异常发生的环境声明
- 你抛出的每个异常,都应该提供足够的环境说明,以便判断错误的来源和原因
依调用者需要定义异常类
- 定义异常类,封装异常
- 我们可以为某个行为或者对性定义一个异常类型,然后这样可以写出整洁的代码
定义常规流程
- 业务逻辑和错误代码处理之间就会有良好的间隔
- 有时候我们可以用特例模式来取代异常
别返回null值
- 如果你在方法中返回null值,不如返回一个特例对象或者是抛出异常
- 别传递null值
总结
- 整洁代码是可读的,但也要强固,两者并不冲突