防御式编程(二)
2021-11-14 本文已影响0人
F_wind
《代码大全2》阅读随笔
错误处理技术
一些系统遇到错误后的指导建议
- 返回中立值;
- 换下一个正确数据;
- 返回前次相同的数据;
- 换用最近的合法值;
- 把警告信息记录在日志文件中;
- 返回一个错误码;
- 调用错误处理子程序或者对象;
- 当错误发生时显示出错消息;
- 用最稳妥的方式在局部处理错误;
- 关闭程序。
健壮性和正确性
上面指导建议中,一些是属于健壮性的策略,比如返回中立值、下个正确数据或者上个正确数据,一些是属于正确性的策略,比如关闭程序。对于该如何使用这些错误处理技术,需要根据实际使用场景来决定,如果是提款机或者人身性命攸关的软件,那么一定要保证正确性,如果返回值错误,那么此时关闭程序比返回一个错误的结果要更好;如果是游戏渲染程序,那么在未返回正确值的情况下,可以返回一个默认值或者上一个值,以保证程序可以继续运行则更佳。健壮性和正确性是一对截然反的概念。