c++ - C++ 检查用户输入
问题描述
我想接收两个整数,一个接一个,并确保用户输入是一个整数。如果它们不是整数,我想允许用户输入新的输入。异常在这里是一个很好的解决方案吗?如果是这样,我应该使用什么例外?
解决方案
例外不是一个好的解决方案。异常旨在通过允许开发人员将其控制流刷到众所周知的地毯下方来处理异常事件,同时确保在此过程中销毁任何对象。
根据您的情况,您只是尝试处理预期的事件。更重要的是,这些事件是控制流的关键部分。因此,试图隐藏幸福道路的重要部分是没有意义的。
然而,标准 C++ 确实包括旨在表示由逻辑错误(即std::logic_error
)引起的异常的标准异常,其中包括对越界值(即std::domain_error
和)std::length_error
以及std::out_of_range
无效参数(即std::invalid_error
)的特化。但是,请记住,这些异常旨在用于表示异常事件,而不是您的主要控制流。
推荐阅读
- docker - 如何将现有的 mysql 卷附加到新容器?
- php - 如何在不重新加载页面的情况下提交我的表单?
- reactjs - useState() 错误 - 状态值与初始值不同
- python - 在 Python 中创建一个列表并插入到 Oracle 表中,然后能够检索计数,但在 oracle 表中找不到值
- php - 获取dn后PHP LDAP二次查询
- visual-studio-2017 - 如何停止在发布包中生成 pdb 文件
- node.js - 检查 POST 请求处理程序中的函数调用
- azure - ACR - 仅删除旧图像 - 变量引用无效
- android - 数据绑定在 CreateViewHolder 上崩溃
- php - 如何验证 Laravel 中的 cron 表达式?