std::io_errc
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header <ios>
   | 
||
|   enum class io_errc;  | 
(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.
Contents | 
[edit] Member constants
| Enumeration constant | Value | 
| stream | 1 | 
[edit] Helper classes
|    extends the type trait std::is_error_code_enum to identify iostream error codes  (class template)  | |
[edit] Non-member functions
|    constructs an iostream error code  (function)  | |
|    constructs an iostream error_condition  (function)  | |
[edit] Example
#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
[edit] See also
|    (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)  | |