防御式编程

防御式编程没有特定的方法,是一种思想,就是考虑周全数据可能会出错的各种情况,然后提前做控制,以免破坏到后面的数据,

产生原因:

子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的 错误数据。这种思想是将可能出现的错误造成的影响控制在有限的范围内。

措施:

检查输入源(如:文件,网络、控制台等)数据的合法性

检查每一个函数输入参数的合法性

一旦非法输入被发现,那么应该根据情况进行处理。防御式编程的最佳的形式是在一开始就不引入错误。

记录1:

头文件:#include

assert 的作用是先计算表达式 expression ,如果其值为假(即为 0),

那么它先 向 stderr 打印一条出错信息,

然后通过调用 abort 来终止程序运行。

当有错误的时候assert(判断语句)//如果程序执行到这里,所输入的内容满足判断语句的条件,那程序就会强行终端

记录2:文件

例如:写了文件就需要判断文件是否操作成功,

防御式编程_第1张图片

打开文件就需要,关闭文件

记录3:内存

 申请了内存空间,就需要释放内存空间

int *p = NULL;

p = new int[12];//按需申请堆空间

delete[] p;//使用完后释放该空间

你可能感兴趣的:(visual,studio,c++)