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)
,这将导致引发异常。