读书频道 > 网站 > 网页设计 > 大规模C++程序设计
1.3 断言语句
15-04-24    下载编辑
收藏    我要投稿   

本文所属图书 > 大规模C++程序设计

《大规模C++程序设计》由世界级软件开发大师John Lakos亲笔撰写,是C++程序设计领域最有影响力的著作之一。作者结合自己多年从事大规模C++项目的开发经验,详细介绍了大规模C++程序设计涉及的一系列概念、理论、立即去当当网订购

标准C库提供了一个名为assert(见assert.h)的宏指令,以确保给定表达式计算的值是一个非零值;如果值为0,就会打印出一条错误信息,同时程序的执行就会被终止。断言使用方便,并为开发者提供了一个强有力的实现级文档工具。断言语句就像是处于活动状态的注释——它们不仅可以使一个假设清晰、准确,可是如果违反了这些假设,它们实际上还会有所行动。

断言语句的使用可以有效地捕获程序运行时的逻辑错误,而且它们很容易从产品代码中滤除。一旦开发工作完成,只需通过在编译期间定义预处理符号NDEBUG,就可以将这些为测试代码错误而添加的冗余代码消除。然而,必须记住的是,放在assert中的代码将会在成品中被遗漏掉。请看下面这个String类的部分定义:


 

如果assert宏指令的表达式参数影响了软件的状态(正如以下代码那样),那么产品版本就会展示不同的行为。


 

我们可以确保断言中的代码完全独立于对象的常规操作,以避免这些问题的出现。


 

这种处理容错技术的普遍做法就是抛出一个像CodingError之类的异常。在这种方式中,将由软件在较高层次上捕获并处理该问题。对于编程错误,在缺少处理程序的情况下,默认的行为就简化为一个断言。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站