Error numbers
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
|
|