【发布时间】:2013-10-31 00:39:00
【问题描述】:
我是一名(有些)经验丰富的 Python 程序员,正在尝试迁移到 C++。我希望能够捕获无效的用户输入。例如,如果一个变量需要一个整数,而用户键入一个字符串,我想捕捉那个错误。在 python 3 中,语法为:
try:
#block of code you want to run
except ValueError:
#Block of code to be run if the user inputs an invalid input
在 c++ 中,我读到语法是 Try, catch。我正在尝试这样做,但它不起作用。这是我在 C++ 中的代码:
#include "Calculator.h"
#include <iostream>
#include <exception>
using namespace std;
Calculator::Calculator()
{
}
int Calculator::Calc()
{
cout << "Enter a number " << endl;
try
{
cin >> a;
}
catch (logic_error)
{
cout << "An error has ocurred! You have entered an invalid input!"
}
如何在 C++ 中捕获无效输入?是的,我正在为这个类使用一个头文件。如果您需要这些内容,请告诉我。如果我找到答案,我会继续搜索网络并发布!
【问题讨论】:
-
我不会使用异常来验证用户输入。我会选择适当的转换方法,比如将字符串转换为 int,并在验证失败时向用户发送消息,然后重新提示输入。