assert()

来源:互联网 发布:义乌摄影美工培训学校 编辑:程序博客网 时间:2024/05/24 22:43

assert() 宏用法
注意:assert是宏,而不是函数。在C的assert.h头文件中。
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行.

 


断言只有在Debug模式下才有效,它可以有两种形式
1.assert Expression1
2.assert Expression1:Expression2
其中Expression1应该总是一个布尔值,Expression2是断言失败时输出的失败消息的字符串。如果Expression1为假,则抛出一个AssertionError,这是一个错误,而不是一个异常,也就是说是一个不可控制异常(uncheckedException),AssertionError由于是错误,所以可以不捕获,但不推荐这样做,因为那样会使你的系统进入不稳定状态。

 

 

#include
#include
#include
intmain(void){
FILE*fp;
fp=fopen("test.txt","w");//以可写的方式打开一个文件,如果不存在就创建一个同名文件
assert(fp);//所以这里不会出错
fclose(fp);
fp=fopen("noexitfile.txt","r");//以只读的方式打开一个文件,如果不存在就打开文件失败
assert(fp);//所以这里出错
fclose(fp);//程序永远都执行不到这里来
return0;
}

原创粉丝点击