防御式编程

发布时间:2024年01月09日

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

产生原因:

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

措施:

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

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

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

记录1:

头文件:#include <assert.h>

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

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

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

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

记录2:文件

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

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

记录3:内存

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

int *p = NULL;

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

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

文章来源:https://blog.csdn.net/qq_48397625/article/details/135459827
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。