Defined in header <ios> | ||
---|---|---|
enum class io_errc { stream = 1, }; | (since C++11) |
The scoped enumeration std::io_errc
defines the error codes reported by I/O streams in std::ios_base::failure
exception objects. Only one error code (std::io_errc::stream
) is required, although the implementation may define additional error codes. Because the appropriate specialization of std::is_error_code_enum
is provided, values of type std::io_errc
are implicitly convertible to std::error_code
.
Enumeration constant | Value |
---|---|
stream | 1 |
(C++11) | constructs an iostream error code (function) |
(C++11) | constructs an iostream error code (function) |
(C++11) | extends the type trait std::is_error_code_enum to identify iostream error codes (class template specialization) |
#include <iostream> #include <fstream> int main() { std::ifstream f("doesn't exist"); try { f.exceptions(f.failbit); } catch (const std::ios_base::failure& e) { std::cout << "Caught an ios_base::failure.\n"; if(e.code() == std::io_errc::stream) std::cout << "The error code is std::io_errc::stream\n"; } }
Output:
Caught an ios_base::failure. The error code is std::io_errc::stream
(C++11) | holds a platform-dependent error code (class) |
(C++11) | holds a portable error code (class) |
stream exception (public member class of std::ios_base ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/io_errc