断言,英语单词是assertion。
断言的概念?
断言是在开发阶段使用,让程序运行时自检的代码。
断言和错误处理的区别?
用错误处理代码来处理预期的错误,用断言来处理绝不可能发生的错误。
如何使用断言?
把断言理解为可执行的注释。和简单的注释相比, 断言不仅可以说明,还可以验证。
建立自己的断言机制
例如:
#define ASSERT(condition, message) \{ \
if (!(condition)) \
{ \
printf("%s:%d (%s) \n", __FILE__, __LINE__, __FUNCTION__); \
printf("assert failed: " #condition ", " message); \
exit(1); \
} \
} \