防御式编程:对输入的可能性考虑周到,避免预期之外的错误导致程序崩溃。
措施:
1.对输入进行检查
(1)检查输入源(文件,网络,控制台)数据的合法性。
(2)检查每一个函数输入参数的合法性。
2.对非预期错误使用断言
(1)空指针
(2)输入或输出参数的值不再预期范围内
(3)数组越界
断言:
#include <assert.h>
assert(条件);
断言语句执行时会判断条件是否成立,如果条件成立,则继续执行。如果条件不成立,则会报错,并终止程序,提示行号。
断言用于程序调试时使用,避免输入的数据非法,而导致程序错误。
记录一下,以免忘记。