std:: iostream_category
|
Определено в заголовочном файле
<ios>
|
||
|
const
std::
error_category
&
iostream_category
(
)
noexcept
;
|
(начиная с C++11) | |
Получает ссылку на статический объект категории ошибок для ошибок ввода-вывода. Объект должен переопределять виртуальную функцию error_category :: name ( ) для возврата указателя на строку "iostream" . Используется для идентификации кодов ошибок, предоставляемых в исключениях типа std::ios_base::failure .
Содержание |
Параметры
(нет)
Возвращаемое значение
Ссылка на статический объект неуказанного типа времени выполнения, производный от std::error_category .
Пример
#include <fstream> #include <iostream> 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" << "Error code: " << e.code().value() << " (" << e.code().message() << ")\n" << "Error category: " << e.code().category().name() << '\n'; } }
Возможный вывод:
Caught an ios_base::failure. Error code: 1 (unspecified iostream_category error) Error category: iostream
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены задним числом к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2087 | C++11 |
iostream_category
was not declared
noexcept
|
declared noexcept |
Смотрите также
|
исключение потока
(публичный класс-член
std::ios_base
)
|
|
|
(C++11)
|
коды ошибок потока ввода-вывода
(перечисление) |