std:: iostream_category
|
Definido en el encabezado
<ios>
|
||
|
const
std::
error_category
&
iostream_category
(
)
noexcept
;
|
(desde C++11) | |
Obtiene una referencia al objeto estático de categoría de error para errores de iostream. El objeto debe sobrescribir la función virtual error_category :: name ( ) para devolver un puntero a la cadena "iostream" . Se utiliza para identificar códigos de error proporcionados en las excepciones de tipo std::ios_base::failure .
Contenidos |
Parámetros
(ninguno)
Valor de retorno
Una referencia al objeto estático de tipo de tiempo de ejecución no especificado, derivado de std::error_category .
Ejemplo
#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'; } }
Salida posible:
Caught an ios_base::failure. Error code: 1 (unspecified iostream_category error) Error category: iostream
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2087 | C++11 |
iostream_category
no estaba declarado
noexcept
|
declarado noexcept |
Véase también
|
excepción de flujo
(clase miembro pública de
std::ios_base
)
|
|
|
(C++11)
|
códigos de error de flujo de E/S
(enumeración) |