Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2628241
  • 博文数量: 333
  • 博客积分: 4817
  • 博客等级: 上校
  • 技术积分: 4413
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-28 10:51
文章分类

全部博文(333)

文章存档

2017年(20)

2016年(57)

2015年(27)

2014年(20)

2013年(21)

2012年(164)

2011年(24)

分类: Windows平台

2013-09-09 16:11:10

在开发过程中我们可以假设只要程序运行正确,某一条件肯定成立。若不成立,那么我们可以断言程序肯定出错。在这种情况下我们可要利用ASSERT来设定断 言。ASSERT宏的参数是一个逻辑表达式,在程序运行过程中,若该逻辑表达式为真,则不会发生任何动作;若此表达式为假,则系统弹出一个对话框警告你, 并停止程序的执行。同时要求你作出选择:取消、忽略和重试。若你选择取消,则系统将停止程序的运行;若你选择忽略,则系统将忽略该错误,并继续执行程序; 若你选择重试,则系统将重新计算该表达式,并激活调试器。同TRACE宏一样,ASSERT宏只对Debug版本的工程产生作用,在Release 版本的工程中,ASSERT宏将被忽略。
下面的示例显示如何使用ASSERT检查函数的返回值:
int x = SomeFunc(y);
ASSERT( x >= 0); // 如果x为负,则断言失败。
可将断言用于:
(1)可以使用断言语句捕捉逻辑错误。可以在程序逻辑必须为真的条件上设置断言。除非发生逻辑错误,否则断言对程序无任何影响。
(2)可以使用断言语句检查操作的结果。断言对于快速直观地检查不明显的操作结果最有价值。
(3)可以使用断言在代码中已处理了错误的点处测试错误类型。
阅读(1548) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~