Skip to Content
C++程序设计:原理与实践(基础篇)(原书第2版)
book

C++程序设计:原理与实践(基础篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(基础篇)(原书第2版)

5.6.3 输入错误

我们将把处理输入错误的细节讨论延后到10.6节。不过,一旦输入错误被发现,利用与处理参数错误和范围错误相同的技术,它将会被迅速处理。这里,我们只展示如何判断输入是否正确。下面是输入一个浮点数的情况:

通过测试cin,我们可以确定最后一个输入操作是否成功:

有几种原因可能会导致输入操作失败。其中一个原因就是>>操作输入的不是所要求的double类型数据。

在开发工作的早期,我们主要关注于发现错误,但并没有给出特别好的办法来解决它。我们做的仅仅是报告错误并终止程序。下面,我们将尝试更好的办法来处理它。例如:

这里!cin(“非cin”,即cin处在有问题的状态)表示前一个cin的操作失败了。

传递给函数error()的字符串将被输出,它可以作为调试的有益帮助或者反馈给用户的信息。这个对于很多程序都很有用的error()应该如何编写呢?因为我们不知道应该如何处理返回值,所以这个函数没有返回值。它在输出信息后将直接终止程序。此外,在终止程序前,我们可以做一些次要的操作,例如保持窗口一段足够长时间以便我们阅读信息。显然,这是异常处理应该做的工作(参见7.3节)。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉

Publisher Resources

ISBN: 9787111562252