1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
// error_code observers: value, category and message
#include <iostream> // std::cout, std::ios
#include <system_error> // std::system_error
#include <fstream> // std::ifstream
#include <string> // std::string
int main()
{
std::ifstream is;
is.exceptions (std::ios::failbit);
try {
is.open ("unexistent.txt");
} catch (const std::system_error& e) {
std::cout << "Exception caught (system_error):\n";
std::cout << "Error: " << e.what() << '\n';
std::cout << "Code: " << e.code().value() << '\n';
std::cout << "Category: " << e.code().category().name() << '\n';
std::cout << "Message: " << e.code().message() << '\n';
}
return 0;
}
|