防御式编程
2024-01-09 22:53:02
防御式编程没有特定的方法,是一种思想,就是考虑周全数据可能会出错的各种情况,然后提前做控制,以免破坏到后面的数据,
产生原因:
子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的 错误数据。这种思想是将可能出现的错误造成的影响控制在有限的范围内。
措施:
检查输入源(如:文件,网络、控制台等)数据的合法性
检查每一个函数输入参数的合法性
一旦非法输入被发现,那么应该根据情况进行处理。防御式编程的最佳的形式是在一开始就不引入错误。
记录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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!