1,保护程序免遭非法输入数据的破坏 188页
所有输入的数据都是非法数据。
2,断言 189 页
这里的断言和单元测试中的断言看似不同
3,错误处理技术 194 页
返回可用的中立值,自己算的
换用下一个正确的数据
返回与前次相同的数据
换用最接近的合法值
把警告信息记录到日志文件中
调用错误处理子程序或对象
当错误发生时显示出错消息
用最妥当的方式在局部处理错误
关闭程序
4,异常 198 页
要有程序来处理异常,不能忽略
只有在其他编码方法无法解决时才抛出异常
不能用异常来推卸责任
避免在构造函数和析构函数中抛出异常
异常也是接口的一部分
在异常消息中加入关于导致异常发生的全部消息
了解所用函数库可能抛
考虑创建一个集中的异常报告机制
把项目中对异常的使用标准化
5,隔离程序,使之包容由错误造成的损害 203 页
对输入数据进行验证,使之进入后的区域数据成为安全数据
6,辅助调试的代码 205页
产品级,开发级方式不同
开发级可以不节约资源,可以不在意速度。
尽早引入辅助调试代码
处理异常
开发时显现出来,产品时自我恢复。
计划移除调试辅助的代码
7,确定在产品代码中该保留多少防御式代码 209 页
保留那些检查重要错误的代码
去掉检查细微错误的代码
去掉可以导致程序硬性崩溃的代码
8,对防御式编程采取防御的姿态 210 页
不能过度防御
转载请注明原文地址: https://ju.6miu.com/read-1297693.html