< cpp‎ | io‎ | basic ios

Sets the stream error state flags by assigning them the value of state. By default, assigns std::ios_base::goodbit which has the effect of clearing all error state flags.

If rdbuf() == 0 then state | badbit is assigned. May throw an exception.


state - new error state flags setting. It can be a combination of the following constants:
Constant Explanation
goodbit no error
badbit irrecoverable stream error
failbit input/output operation failed (formatting or extraction error)
eofbit associated input sequence has reached end-of-file

Return value




clear() without arguments can be used to unset the failbit after unexpected input

#include <iostream>
#include <string>
int main()
    double n;
    while( std::cout << "Please, enter a number\n"
           && ! (std::cin >> n) )
        std::string line;
        std::getline(std::cin, line);
        std::cout << "I am sorry, but '" << line << "' is not a number\n";
    std::cout << "Thank you for entering the number " << n << '\n';

See also

sets state flags
(public member function)
returns state flags
(public member function)