0

我应该在带有异常()的程序中测试输入。我已经构建了以下代码,并且可以毫无错误地编译:

cin.exceptions(istream::failbit |istream::badbit);
    do
    {
        try
        {
            getline(cin,uppg);
        }
        catch(istream::failure e)
        {
            cerr << "Exception i inläsning";

        }
        ...
     }while(...)

事情是......我不知道如何测试这段代码。我可以写什么类型的输入来获得故障位或坏位?

4

1 回答 1

0

根据这个(流的错误状态)故障位在错误的输入序列时生成。例如,您编写如下内容: int n = 0; 辛 >> 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;
    }

于 2012-10-05T22:54:19.870 回答