如何处理std :: cin ios :: failure?

时间:2018-04-15 08:19:24

标签: c++ exception-handling cin

我尝试在错误的类型输入上使用std :: cin异常:

std::cin.exceptions(ios::failbit);

然后我试图处理这些例外:

int a;
try { std::cin >> a; }
catch(ios::failure& f) { std::cout << f.what(); a = 42; }
// I would like to continue the program here

然而,失败调用终止,因此程序停止。我知道我可以离开std::cin.exceptions然后在failbit上抛出并捕获我自己的异常,我只是想知道是否可以避免在此处终止,如果没有,何时以及如何应对ios::failure适用于std::cin

0 个答案:

没有答案