C++ 测试异常
我应该在一个程序中测试输入是否有异常()。 我已经构建了以下代码,并且可以无错误地编译:C++ 测试异常,c++,ios,exception,cin,C++,Ios,Exception,Cin,我应该在一个程序中测试输入是否有异常()。 我已经构建了以下代码,并且可以无错误地编译: cin.exceptions(istream::failbit |istream::badbit); do { try { getline(cin,uppg); } catch(istream::failure e) { cerr << "Excepti
cin.exceptions(istream::failbit |istream::badbit);
do
{
try
{
getline(cin,uppg);
}
catch(istream::failure e)
{
cerr << "Exception i inläsning";
}
...
}while(...)
cin.exceptions(istream::failbit | istream::badbit);
做
{
尝试
{
getline(cin、uppg);
}
捕获(istream::失败e)
{
cerr根据这个()错误的输入序列生成失败位。例如,您编写了如下内容:
int n=0;cin>>n;并输入字符串而不是数字
int main(void)
{
int n = 0;
cin.exceptions(istream::failbit | istream::badbit);
try
{
cin >> n;
}
catch(istream::failure e)
{
cerr << "Exception" << endl;
}
return 0;
}
要测试什么?如果要测试异常处理代码,可以调用cin.setstate(istream::failbit)
,这将导致引发异常。