C++检查用户输入
C++ check user input
我想收到两个整数,一个接一个, 并确保用户输入是 int。如果它们不是整数, 我想允许用户输入新输入。 例外在这里是一个很好的解决方案吗?如果是这样,我应该使用什么例外?
异常不是一个好的解决方案。异常旨在处理异常事件,允许开发人员将其控制流刷到众所周知的地毯下方,同时确保在此过程中销毁任何对象。
根据你的方案,你只尝试处理预期的事件。更重要的是,这些事件是控制流的关键部分。 因此,试图隐藏快乐道路上的重要部分是没有意义的。
然而,标准C++确实包括旨在表示由逻辑错误(即std::logic_error
)引起的异常的标准异常,其中包括越界值(即std::domain_error
、std::length_error
和std::out_of_range
)和无效参数(即std::invalid_error
)的特殊化。 但是,请记住,这些异常旨在用于表示异常事件,而不是主控制流。
我想你会发现这个答案很有趣: 类似的问题
只需检查类型是否是您想要的类型,然后执行必要的操作,即重新要求用户插入数据。
相关文章:
- C++如何通过用户输入删除列表元素
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 用户定义函数中的指针和输入
- 如何只允许用户输入正整数
- C++如何计算用户输入的数字中的偶数位数
- 通过for循环使用用户输入填充列表
- 这是我尝试让用户将值输入到数组中.然后将其隐藏为大量的星号
- 在C++中,我如何接受不同于同一行的用户输入
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 当用户键入分隔符时,停止getline()输入
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- 当用户在qtablewidget中输入单元格时,如何获得信号?C++
- 显示基于用户输入的整数的字符
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 如果用户没有输入任何内容或输入错误,如何重新输入用户的输入?
- 为什么在代码块中执行时会跳过输入用户输入的行?
- 使用 for 循环在数组中输入用户