C++检查用户输入

C++ check user input

本文关键字:输入 用户 检查 C++      更新时间:2023-10-16

我想收到两个整数,一个接一个, 并确保用户输入是 int。如果它们不是整数, 我想允许用户输入新输入。 例外在这里是一个很好的解决方案吗?如果是这样,我应该使用什么例外?

异常不是一个好的解决方案。异常旨在处理异常事件,允许开发人员将其控制流刷到众所周知的地毯下方,同时确保在此过程中销毁任何对象。

根据你的方案,你只尝试处理预期的事件。更重要的是,这些事件是控制流的关键部分。 因此,试图隐藏快乐道路上的重要部分是没有意义的。

然而,标准C++确实包括旨在表示由逻辑错误(即std::logic_error)引起的异常的标准异常,其中包括越界值(即std::domain_errorstd::length_errorstd::out_of_range)和无效参数(即std::invalid_error)的特殊化。 但是,请记住,这些异常旨在用于表示异常事件,而不是主控制流。

我想你会发现这个答案很有趣: 类似的问题

只需检查类型是否是您想要的类型,然后执行必要的操作,即重新要求用户插入数据。