概述
1.什么是assert?
在C中assert是定义在<assert.h>中的一个macro define。
语法规范:assert(expr):如果expr为真,则继续执行下一句;如果expr为假,报错:assertion 'expr' failed并退出程序
2.assert有什么用?
assert是一种防御式编程方式,减少编程错误。最常用的是在函数开始的地方,检测所有参数。有时候也可以在调用函数后,检查上下文是否正确。在代码中适当位置使用assert可以有效的帮助我们测试程序。
3.注意事项
测试框架知识在开发和调试的时候有用。
release的软件:如果还要运行这些测试框架就会严重影响性能,所以C语言中规定如果包含在assert.h之前定义的一个NDEBUG宏,就可以禁用asset.h中的assert宏定义,代码中的assert就不起作用了·.
#define NDEBUG #include <assert.h> //特别的gcc 有定义macro的option gcc -D NDEBUG
4.什么时候我们用assert什么时候我们处理运行时的错误(C中返回错误值或C++中throw异常)?
如果那个错误是由于程序员错误编码所造成的(例如传入不合法的参数),应该使用assert;如果那个错误是程序员无法避免,而是由运行时的环境所造成的,就要处理运行时错误(例如开启文件失败,数据库打开失败)。
转载于:https://www.cnblogs.com/lewisliu111/p/9700785.html
最后
以上就是冷傲芒果为你收集整理的关于assert的全部内容,希望文章能够帮你解决关于assert所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复