Namespaces
Variants

std:: iostream_category

From cppreference.net
< cpp ‎ | io
Definiert im Header <ios>
const std:: error_category & iostream_category ( ) noexcept ;
(seit C++11)

Ruft eine Referenz auf das statische Fehlerkategorieobjekt für iostream-Fehler ab. Das Objekt muss die virtuelle Funktion error_category :: name ( ) überschreiben, um einen Zeiger auf den String "iostream" zurückzugeben. Es wird verwendet, um Fehlercodes zu identifizieren, die in Ausnahmen vom Typ std::ios_base::failure bereitgestellt werden.

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Eine Referenz auf das statische Objekt eines nicht näher spezifizierten Laufzeittyps, abgeleitet von std::error_category .

Beispiel

#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';
    }
}

Mögliche Ausgabe:

Caught an ios_base::failure.
Error code: 1 (unspecified iostream_category error)
Error category: iostream

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 2087 C++11 iostream_category wurde nicht deklariert noexcept deklariert noexcept

Siehe auch

Stream-Exception
(öffentliche Mitgliedsklasse von std::ios_base )
(C++11)
die IO-Stream-Fehlercodes
(Enumeration)