1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
// io_errc example
// iostream_category example
#include <iostream> // std::cin, std::cerr, std::ios,
// std::iostream_category
int main () {
std::cin.exceptions (std::ios::failbit|std::ios::badbit);
try {
std::cin.rdbuf(nullptr); // throws
} catch (std::ios::failure& e) {
std::cerr << "failure caught: ";
if ( e.code().category() == std::iostream_category() )
std::cerr << "error code of the iostream category\n";
else
std::cerr << "error code of some other category\n";
}
return 0;
}
| |