设为首页 加入收藏

TOP

1.3.2 特殊情况
2014-03-11 13:02:23 来源: 作者: 【 】 浏览:83
Tags:1.3.2 特殊 情况

1.3.2  特殊情况

作为类的设计者,必须决定如何处理特殊情况并在规范中包含这些决定。方法以及函数的文档应该包含这些决定。

通常,可以用多种方法添加特殊情况。

假设无效情况不会发生。这个假设并不像听起来那么幼稚。方法可以给出一个客户必须遵守的假设(也就是前置条件)。在客户调用这个方法之前必须负责检测这个假设是否被满足。只要客户遵循这个限定,就不会发生无效情况。

忽略无效情况。当给定无效数据时,方法可以什么都不做。然而,这样会让客户对所发生的事情一无所知。

猜测客户的目的。与前面的选择类似,这个选择会给客户带来麻烦。

返回一个代表问题的值。例如,可以返回一个布尔值表示方法成功执行或者失败。

抛出异常。对于C++方法而言,在执行中遇到特殊情况时通常都想要抛出异常。方法可以只是简单地报告问题,而不需要指明需要做什么。异常可以让客户根据自身的特殊情况采取所需的动作。为简单起见,我们认为只有在真正特殊的情况下(没有其他合理的解决方案)方法才应该抛出异常。在C++片段3中将讲述异常。

提示:模块规范的初稿通常会忽略实际上需要考虑的情况。为简单起见,可以在初稿中有意忽略这些内容。当开始编写规范的主要部分时,可以关注这些细节,从而完善规范。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.3.1 操作契约 下一篇1.3.4 信息隐藏

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)
·透彻理解 C 语言指针 (2025-12-26 00:22:52)
·C语言指针详解 (经典 (2025-12-26 00:22:49)
·C 指针 | 菜鸟教程 (2025-12-26 00:22:46)