[error.reporting]

# 31 Input/output library [[input.output]](./#input.output)

## 31.5 Iostreams base classes [[iostreams.base]](iostreams.base#error.reporting)

### 31.5.6 Error reporting [error.reporting]

[ð](#lib:make_error_code,io_errc)

`error_code make_error_code(io_errc e) noexcept;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L2833)

*Returns*: error_code(static_cast<int>(e), iostream_category())[.](#1.sentence-1)

[ð](#lib:make_error_condition,io_errc)

`error_condition make_error_condition(io_errc e) noexcept;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L2844)

*Returns*: error_condition(static_cast<int>(e), iostream_category())[.](#2.sentence-1)

[ð](#lib:iostream_category)

`const error_category& iostream_category() noexcept;
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L2855)

*Returns*: A reference to an object of a type derived from classerror_category[.](#3.sentence-1)

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L2860)

The object's default_error_condition and equivalent virtual functions shall behave as specified for the class error_category[.](#4.sentence-1)

The object's name virtual function shall return a pointer to the string "iostream"[.](#4.sentence-2)
