Namespaces
Variants

Error numbers

From cppreference.net

Jedes der in <cerrno> definierten Makros erweitert sich zu ganzzahligen Konstantenausdrücken vom Typ int , jeweils mit einem positiven Wert, die den meisten POSIX-Fehlercodes entsprechen. Die folgenden Konstanten sind definiert (die Implementierung kann weitere definieren, solange sie mit 'E' gefolgt von Ziffern oder Großbuchstaben beginnen).

Definiert im Header <cerrno>
E2BIG
(C++11)
Argumentliste zu lang
(Makrokonstante)
EACCES
(C++11)
Zugriffsberechtigung verweigert
(Makrokonstante)
EADDRINUSE
(C++11)
Adresse wird bereits verwendet
(Makrokonstante)
EADDRNOTAVAIL
(C++11)
Adresse nicht verfügbar
(Makrokonstante)
EAFNOSUPPORT
(C++11)
Adressfamilie nicht unterstützt
(Makrokonstante)
EAGAIN
(C++11)
Ressource nicht verfügbar, erneut versuchen
(Makrokonstante)
EALREADY
(C++11)
Verbindung bereits in Bearbeitung
(Makrokonstante)
EBADF
(C++11)
Ungültiger Dateideskriptor
(Makrokonstante)
EBADMSG
(C++11)
Ungültige Nachricht
(Makrokonstante)
EBUSY
(C++11)
Gerät oder Ressource belegt
(Makrokonstante)
ECANCELED
(C++11)
Vorgang abgebrochen
(Makrokonstante)
ECHILD
(C++11)
Keine Kindprozesse
(Makrokonstante)
ECONNABORTED
(C++11)
Verbindung abgebrochen
(Makrokonstante)
ECONNREFUSED
(C++11)
Verbindung abgelehnt
(Makrokonstante)
ECONNRESET
(C++11)
Verbindung zurückgesetzt
(Makrokonstante)
EDEADLK
(C++11)
Ressourcen-Deadlock würde auftreten
(Makrokonstante)
EDESTADDRREQ
(C++11)
Zieladresse erforderlich
(Makrokonstante)
EDOM
Mathematisches Argument außerhalb des Funktionsbereichs
(Makrokonstante)
EEXIST
(C++11)
Datei existiert bereits
(Makrokonstante)
EFAULT
(C++11)
Ungültige Adresse
(Makrokonstante)
EFBIG
(C++11)
Datei zu groß
(Makrokonstante)
EHOSTUNREACH
(C++11)
Host ist nicht erreichbar
(Makrokonstante)
EIDRM
(C++11)
Kennung entfernt
(Makrokonstante)
EILSEQ
(C++11)
Ungültige Byte-Sequenz
(Makrokonstante)
EINPROGRESS
(C++11)
Vorgang läuft
(Makrokonstante)
EINTR
(C++11)
Unterbrochene Funktion
(Makrokonstante)
EINVAL
(C++11)
Ungültiges Argument
(Makrokonstante)
EIO
(C++11)
E/A-Fehler
(Makrokonstante)
EISCONN
(C++11)
Socket ist verbunden
(Makrokonstante)
EISDIR
(C++11)
Ist ein Verzeichnis
(Makrokonstante)
ELOOP
(C++11)
Zu viele Ebenen symbolischer Links
(Makrokonstante)
EMFILE
(C++11)
Dateideskriptorwert zu groß
(Makrokonstante)
EMLINK
(C++11)
Zu viele Links
(Makrokonstante)
EMSGSIZE
(C++11)
Nachricht zu groß
(Makrokonstante)
ENAMETOOLONG
(C++11)
Dateiname zu lang
(Makrokonstante)
ENETDOWN
(C++11)
Netzwerk ist ausgefallen
(Makrokonstante)
ENETRESET
(C++11)
Verbindung durch Netzwerk abgebrochen
(Makrokonstante)
ENETUNREACH
(C++11)
Netzwerk nicht erreichbar
(Makrokonstante)
ENFILE
(C++11)
Zu viele Dateien im System geöffnet
(Makrokonstante)
ENOBUFS
(C++11)
Kein Pufferspeicher verfügbar
(Makrokonstante)
ENODATA
(C++11)
Keine Nachricht ist in der STREAM-Head-Lesewarteschlange verfügbar
(Makrokonstante)
ENODEV
(C++11)
Kein solches Gerät
(Makrokonstante)
ENOENT
(C++11)
Datei oder Verzeichnis nicht gefunden
(Makrokonstante)
ENOEXEC
(C++11)
Fehler im ausführbaren Dateiformat
(Makrokonstante)
ENOLCK
(C++11)
Keine Sperren verfügbar
(Makrokonstante)
ENOLINK
(C++11)
Verbindung wurde getrennt
(Makrokonstante)
ENOMEM
(C++11)
Nicht genügend Speicherplatz
(Makrokonstante)
ENOMSG
(C++11)
Keine Nachricht des gewünschten Typs
(Makrokonstante)
ENOPROTOOPT
(C++11)
Protokoll nicht verfügbar
(Makrokonstante)
ENOSPC
(C++11)
Kein Speicherplatz mehr auf dem Gerät
(Makrokonstante)
ENOSR
(C++11)
Keine STREAM-Ressourcen
(Makrokonstante)
ENOSTR
(C++11)
Kein STREAM
(Makrokonstante)
ENOSYS
(C++11)
Funktion nicht unterstützt
(Makrokonstante)
ENOTCONN
(C++11)
Der Socket ist nicht verbunden
(Makrokonstante)
ENOTDIR
(C++11)
Kein Verzeichnis
(Makrokonstante)
ENOTEMPTY
(C++11)
Verzeichnis nicht leer
(Makrokonstante)
ENOTRECOVERABLE
(C++11)
Zustand nicht wiederherstellbar
(Makrokonstante)
ENOTSOCK
(C++11)
Kein Socket
(Makrokonstante)
ENOTSUP
(C++11)
Nicht unterstützt
(Makrokonstante)
ENOTTY
(C++11)
Ungeeignete E/A-Steueroperation
(Makrokonstante)
ENXIO
(C++11)
Kein solches Gerät oder Adresse
(Makrokonstante)
EOPNOTSUPP
(C++11)
Vorgang auf Socket nicht unterstützt
(Makrokonstante)
EOVERFLOW
(C++11)
Wert zu groß für den Datentyp
(Makrokonstante)
EOWNERDEAD
(C++11)
Vorheriger Besitzer verstorben
(Makrokonstante)
EPERM
(C++11)
Operation nicht erlaubt
(Makrokonstante)
EPIPE
(C++11)
Defekte Pipe
(Makrokonstante)
EPROTO
(C++11)
Protokollfehler
(Makrokonstante)
EPROTONOSUPPORT
(C++11)
Protokoll nicht unterstützt
(Makrokonstante)
EPROTOTYPE
(C++11)
Protokoll falscher Typ für Socket
(Makrokonstante)
ERANGE
Ergebnis zu groß
(Makrokonstante)
EROFS
(C++11)
Schreibgeschütztes Dateisystem
(Makrokonstante)
ESPIPE
(C++11)
Ungültiger Suchvorgang
(Makrokonstante)
ESRCH
(C++11)
Kein derartiger Prozess
(Makrokonstante)
ETIME
(C++11)
Stream ioctl()-Timeout
(Makrokonstante)
ETIMEDOUT
(C++11)
Verbindung zeitüberschritten
(Makrokonstante)
ETXTBSY
(C++11)
Textdatei beschäftigt
(Makrokonstante)
EWOULDBLOCK
(C++11)
Vorgang würde blockieren
(Makrokonstante)
EXDEV
(C++11)
Geräteübergreifende Verknüpfung
(Makrokonstante)

Alle Werte müssen eindeutig sein, mit der Ausnahme, dass die Werte von EOPNOTSUPP und ENOTSUP identisch sein können und die Werte von EAGAIN und EWOULDBLOCK identisch sein können.

Beispiel

#include <cerrno>
#include <cstring>
#include <iomanip>
#include <iostream>
#define SHOW(x) std::cout << std::setw(15) << #x << ": " << std::strerror(x) << '\n'
int main()
{
    std::cout << "Bekannte Fehlercodes/-meldungen:\n\n";
    SHOW( E2BIG );
    SHOW( EACCES );
    SHOW( EADDRINUSE );
    SHOW( EADDRNOTAVAIL );
    SHOW( EAFNOSUPPORT );
    SHOW( EAGAIN );
    SHOW( EALREADY );
    SHOW( EBADF );
    SHOW( EBADMSG );
    SHOW( EBUSY );
    SHOW( ECANCELED );
    SHOW( ECHILD );
    SHOW( ECONNABORTED );
    SHOW( ECONNREFUSED );
    SHOW( ECONNRESET );
    SHOW( EDEADLK );
    SHOW( EDESTADDRREQ );
    SHOW( EDOM );
    SHOW( EEXIST );
    SHOW( EFAULT );
    SHOW( EFBIG );
    SHOW( EHOSTUNREACH );
    SHOW( EIDRM );
    SHOW( EILSEQ );
    SHOW( EINPROGRESS );
    SHOW( EINTR );
    SHOW( EINVAL );
    SHOW( EIO );
    SHOW( EISCONN );
    SHOW( EISDIR );
    SHOW( ELOOP );
    SHOW( EMFILE );
    SHOW( EMLINK );
    SHOW( EMSGSIZE );
    SHOW( ENAMETOOLONG );
    SHOW( ENETDOWN );
    SHOW( ENETRESET );
    SHOW( ENETUNREACH );
    SHOW( ENFILE );
    SHOW( ENOBUFS );
    SHOW( ENODATA );
    SHOW( ENODEV );
    SHOW( ENOENT );
    SHOW( ENOEXEC );
    SHOW( ENOLCK );
    SHOW( ENOLINK );
    SHOW( ENOMEM );
    SHOW( ENOMSG );
    SHOW( ENOPROTOOPT );
    SHOW( ENOSPC );
    SHOW( ENOSR );
    SHOW( ENOSTR );
    SHOW( ENOSYS );
    SHOW( ENOTCONN );
    SHOW( ENOTDIR );
    SHOW( ENOTEMPTY );
    SHOW( ENOTRECOVERABLE );
    SHOW( ENOTSOCK );
    SHOW( ENOTSUP );
    SHOW( ENOTTY );
    SHOW( ENXIO );
    SHOW( EOPNOTSUPP );
    SHOW( EOVERFLOW );
    SHOW( EOWNERDEAD );
    SHOW( EPERM );
    SHOW( EPIPE );
    SHOW( EPROTO );
    SHOW( EPROTONOSUPPORT );
    SHOW( EPROTOTYPE );
    SHOW( ERANGE );
    SHOW( EROFS );
    SHOW( ESPIPE );
    SHOW( ESRCH );
    SHOW( ETIME );
    SHOW( ETIMEDOUT );
    SHOW( ETXTBSY );
    SHOW( EWOULDBLOCK );
    SHOW( EXDEV );
}

Mögliche Ausgabe:

Bekannte Fehlercodes/-meldungen:
          E2BIG: Argumentenliste zu lang
         EACCES: Berechtigung verweigert
     EADDRINUSE: Adresse bereits in Verwendung
  EADDRNOTAVAIL: Angeforderte Adresse kann nicht zugewiesen werden
   EAFNOSUPPORT: Adressfamilie vom Protokoll nicht unterstützt
         EAGAIN: Ressource vorübergehend nicht verfügbar
       EALREADY: Operation bereits im Gange
          EBADF: Ungültiger Dateideskriptor
        EBADMSG: Ungültige Nachricht
          EBUSY: Gerät oder Ressource belegt
      ECANCELED: Operation abgebrochen
         ECHILD: Keine Kindprozesse
   ECONNABORTED: Verbindung durch Software abgebrochen
   ECONNREFUSED: Verbindung abgelehnt
     ECONNRESET: Verbindung durch Gegenstelle zurückgesetzt
        EDEADLK: Ressourcen-Deadlock vermieden
   EDESTADDRREQ: Zieladresse benötigt
           EDOM: Numerisches Argument außerhalb des Definitionsbereichs
         EEXIST: Datei existiert bereits
         EFAULT: Ungültige Adresse
          EFBIG: Datei zu groß
   EHOSTUNREACH: Keine Route zum Host
          EIDRM: Kennung entfernt
         EILSEQ: Ungültiges oder unvollständiges Multibyte- oder Breitzeichen
    EINPROGRESS: Operation jetzt im Gange
          EINTR: Unterbrochener Systemaufruf
         EINVAL: Ungültiges Argument
            EIO: Eingabe-/Ausgabefehler
        EISCONN: Transport-Endpunkt bereits verbunden
         EISDIR: Ist ein Verzeichnis
          ELOOP: Zu viele symbolische Links
         EMFILE: Zu viele offene Dateien
         EMLINK: Zu viele Links
       EMSGSIZE: Nachricht zu lang
   ENAMETOOLONG: Dateiname zu lang
       ENETDOWN: Netzwerk nicht verfügbar
      ENETRESET: Netzwerkverbindung bei Reset getrennt
    ENETUNREACH: Netzwerk nicht erreichbar
         ENFILE: Zu viele offene Dateien im System
        ENOBUFS: Kein Pufferspeicher verfügbar
        ENODATA: Keine Daten verfügbar
         ENODEV: Kein solches Gerät
         ENOENT: Datei oder Verzeichnis nicht gefunden
        ENOEXEC: Ausführungsformatfehler
         ENOLCK: Keine Sperren verfügbar
        ENOLINK: Verbindung wurde getrennt
         ENOMEM: Kann Speicher nicht allozieren
         ENOMSG: Keine Nachricht des gewünschten Typs
    ENOPROTOOPT: Protokoll nicht verfügbar
         ENOSPC: Kein Speicherplatz auf dem Gerät
          ENOSR: Stream-Ressourcen erschöpft
         ENOSTR: Gerät ist kein Stream
         ENOSYS: Funktion nicht implementiert
       ENOTCONN: Transport-Endpunkt nicht verbunden
        ENOTDIR: Ist kein Verzeichnis
      ENOTEMPTY: Verzeichnis nicht leer
ENOTRECOVERABLE: Zustand nicht wiederherstellbar
       ENOTSOCK: Socket-Operation auf Nicht-Socket
        ENOTSUP: Operation nicht unterstützt
         ENOTTY: Unpassender ioctl für Gerät
          ENXIO: Kein solches Gerät oder Adresse
     EOPNOTSUPP: Operation nicht unterstützt
      EOVERFLOW: Wert zu groß für definierten Datentyp
     EOWNERDEAD: Besitzer beendet
          EPERM: Operation nicht erlaubt
          EPIPE: Broken Pipe
         EPROTO: Protokollfehler
EPROTONOSUPPORT: Protokoll nicht unterstützt
     EPROTOTYPE: Protokoll falscher Typ für Socket
         ERANGE: Numerisches Ergebnis außerhalb des Bereichs
          EROFS: Schreibgeschütztes Dateisystem
         ESPIPE: Ungültige Positionierung
          ESRCH: Kein solcher Prozess
          ETIME: Timer abgelaufen
      ETIMEDOUT: Verbindung zeitüberschreitung
        ETXTBSY: Textdatei belegt
    EWOULDBLOCK: Ressource vorübergehend nicht verfügbar
          EXDEV: Ungültiger geräteübergreifender Link

Siehe auch

(C++11)
die std::error_condition Aufzählung, die alle standardmäßigen <cerrno> Makrokonstanten auflistet
(Klasse)
Makro, das zu einer POSIX-kompatiblen thread-lokalen Fehlernummer-Variable expandiert
(Makrovariable)
gibt eine Zeichenkette entsprechend dem aktuellen Fehler auf stderr aus
(Funktion)
gibt eine Textversion eines gegebenen Fehlercodes zurück
(Funktion)
C-Dokumentation für Fehlernummern