Scroll to navigation

std::io_errc(3) C++ Standard Libary std::io_errc(3)

NAME

std::io_errc - std::io_errc

Synopsis


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.

Member constants


Enumeration constant Value
stream 1

Non-member functions


make_error_code(std::io_errc) constructs an iostream error code
(C++11) (function)
make_error_condition(std::io_errc) constructs an iostream error code
(C++11) (function)

Helper classes


is_error_code_enum<std::io_errc> extends the type trait std::is_error_code_enum to
(C++11) identify iostream error codes
(class template specialization)

Example

// Run this code


#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

See also


error_code holds a platform-dependent error code
(C++11) (class)
error_condition holds a portable error code
(C++11) (class)
failure stream exception
(public member class of std::ios_base)

2022.07.31 http://cppreference.com