Fehlernummern
Von cppreference.com
Jedes der Makros, die in <cerrno> definiert sind, expandiert zu ganzzahligen konstanten Ausdrücken vom Typ int, jeweils mit einem positiven Wert, der den meisten POSIX-Fehlercodes entspricht. Die folgenden Konstanten sind definiert (die Implementierung kann mehr definieren, solange sie mit 'E' gefolgt von Ziffern oder Großbuchstaben beginnen).
| Definiert in der Header-Datei
<cerrno> | |
| E2BIG (C++11) |
Argumentliste zu lang (Makro-Konstante) |
| EACCES (C++11) |
Zugriff verweigert (Makro-Konstante) |
| EADDRINUSE (C++11) |
Adresse bereits in Verwendung (Makro-Konstante) |
| EADDRNOTAVAIL (C++11) |
Adresse nicht verfügbar (Makro-Konstante) |
| EAFNOSUPPORT (C++11) |
Adressfamilie wird nicht unterstützt (Makro-Konstante) |
| EAGAIN (C++11) |
Ressource nicht verfügbar, bitte erneut versuchen (Makro-Konstante) |
| EALREADY (C++11) |
Verbindung bereits im Gange (Makro-Konstante) |
| EBADF (C++11) |
Ungültiger Dateideskriptor (Makro-Konstante) |
| EBADMSG (C++11) |
Ungültige Nachricht (Makro-Konstante) |
| EBUSY (C++11) |
Gerät oder Ressource belegt (Makro-Konstante) |
| ECANCELED (C++11) |
Vorgang abgebrochen (Makro-Konstante) |
| ECHILD (C++11) |
Keine Kindprozesse (Makro-Konstante) |
| ECONNABORTED (C++11) |
Verbindung abgebrochen (Makro-Konstante) |
| ECONNREFUSED (C++11) |
Verbindung verweigert (Makro-Konstante) |
| ECONNRESET (C++11) |
Verbindung zurückgesetzt (Makro-Konstante) |
| EDEADLK (C++11) |
Ressourcen-Deadlock würde auftreten (Makro-Konstante) |
| EDESTADDRREQ (C++11) |
Zieladresse erforderlich (Makro-Konstante) |
| EDOM |
Mathematik-Argument außerhalb des Definitionsbereichs der Funktion (Makro-Konstante) |
| EEXIST (C++11) |
Datei existiert bereits (Makro-Konstante) |
| EFAULT (C++11) |
Ungültige Adresse (Makro-Konstante) |
| EFBIG (C++11) |
Datei zu groß (Makro-Konstante) |
| EHOSTUNREACH (C++11) |
Host ist unerreichbar (Makro-Konstante) |
| EIDRM (C++11) |
Identifikator entfernt (Makro-Konstante) |
| EILSEQ (C++11) |
Ungültige Byte-Sequenz (Makro-Konstante) |
| EINPROGRESS (C++11) |
Vorgang im Gange (Makro-Konstante) |
| EINTR (C++11) |
Unterbrochene Funktion (Makro-Konstante) |
| EINVAL (C++11) |
Ungültiges Argument (Makro-Konstante) |
| EIO (C++11) |
E/A-Fehler (Makro-Konstante) |
| EISCONN (C++11) |
Socket ist verbunden (Makro-Konstante) |
| EISDIR (C++11) |
Ist ein Verzeichnis (Makro-Konstante) |
| ELOOP (C++11) |
Zu viele symbolische Link-Ebenen (Makro-Konstante) |
| EMFILE (C++11) |
Dateideskriptorwert zu groß (Makro-Konstante) |
| EMLINK (C++11) |
Zu viele Links (Makro-Konstante) |
| EMSGSIZE (C++11) |
Nachricht zu groß (Makro-Konstante) |
| ENAMETOOLONG (C++11) |
Dateiname zu lang (Makro-Konstante) |
| ENETDOWN (C++11) |
Netzwerk ist ausgefallen (Makro-Konstante) |
| ENETRESET (C++11) |
Verbindung vom Netzwerk abgebrochen (Makro-Konstante) |
| ENETUNREACH (C++11) |
Netzwerk unerreichbar (Makro-Konstante) |
| ENFILE (C++11) |
Zu viele Dateien im System geöffnet (Makro-Konstante) |
| ENOBUFS (C++11) |
Kein Pufferplatz verfügbar (Makro-Konstante) |
| ENODATA (C++11) |
Keine Nachricht auf der STREAM-Head-Read-Queue verfügbar (Makro-Konstante) |
| ENODEV (C++11) |
Kein solches Gerät (Makro-Konstante) |
| ENOENT (C++11) |
Keine solche Datei oder Verzeichnis (Makro-Konstante) |
| ENOEXEC (C++11) |
Fehler im ausführbaren Dateiformat (Makro-Konstante) |
| ENOLCK (C++11) |
Keine Sperren verfügbar (Makro-Konstante) |
| ENOLINK (C++11) |
Link wurde getrennt (Makro-Konstante) |
| ENOMEM (C++11) |
Nicht genügend Speicherplatz (Makro-Konstante) |
| ENOMSG (C++11) |
Keine Nachricht vom gewünschten Typ (Makro-Konstante) |
| ENOPROTOOPT (C++11) |
Protokoll nicht verfügbar (Makro-Konstante) |
| ENOSPC (C++11) |
Kein Speicherplatz mehr auf dem Gerät (Makro-Konstante) |
| ENOSR (C++11) |
Keine STREAM-Ressourcen (Makro-Konstante) |
| ENOSTR (C++11) |
Kein STREAM (Makro-Konstante) |
| ENOSYS (C++11) |
Funktion nicht unterstützt (Makro-Konstante) |
| ENOTCONN (C++11) |
Der Socket ist nicht verbunden (Makro-Konstante) |
| ENOTDIR (C++11) |
Kein Verzeichnis (Makro-Konstante) |
| ENOTEMPTY (C++11) |
Verzeichnis nicht leer (Makro-Konstante) |
| ENOTRECOVERABLE (C++11) |
Zustand kann nicht wiederhergestellt werden (Makro-Konstante) |
| ENOTSOCK (C++11) |
Kein Socket (Makro-Konstante) |
| ENOTSUP (C++11) |
Nicht unterstützt (Makro-Konstante) |
| ENOTTY (C++11) |
Unangemessene E/A-Steuerungsoperation (Makro-Konstante) |
| ENXIO (C++11) |
Kein solches Gerät oder Adresse (Makro-Konstante) |
| EOPNOTSUPP (C++11) |
Operation auf Socket nicht unterstützt (Makro-Konstante) |
| EOVERFLOW (C++11) |
Wert zu groß, um in Datentyp gespeichert zu werden (Makro-Konstante) |
| EOWNERDEAD (C++11) |
Vorheriger Besitzer gestorben (Makro-Konstante) |
| EPERM (C++11) |
Operation nicht erlaubt (Makro-Konstante) |
| EPIPE (C++11) |
Abgebrochene Pipe (Makro-Konstante) |
| EPROTO (C++11) |
Protokollfehler (Makro-Konstante) |
| EPROTONOSUPPORT (C++11) |
Protokoll nicht unterstützt (Makro-Konstante) |
| EPROTOTYPE (C++11) |
Protokoll falscher Typ für Socket (Makro-Konstante) |
| ERANGE |
Ergebnis zu groß (Makro-Konstante) |
| EROFS (C++11) |
Schreibgeschütztes Dateisystem (Makro-Konstante) |
| ESPIPE (C++11) |
Ungültiger Suchvorgang (Makro-Konstante) |
| ESRCH (C++11) |
Kein solcher Prozess (Makro-Konstante) |
| ETIME (C++11) |
Stream ioctl() Zeitüberschreitung (Makro-Konstante) |
| ETIMEDOUT (C++11) |
Verbindung Zeitüberschreitung (Makro-Konstante) |
| ETXTBSY (C++11) |
Textdatei belegt (Makro-Konstante) |
| EWOULDBLOCK (C++11) |
Operation würde blockieren (Makro-Konstante) |
| EXDEV (C++11) |
Geräteübergreifender Link (Makro-Konstante) |
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.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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 << "Known error codes/messages:\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
Known error codes/messages:
E2BIG: Argument list too long
EACCES: Permission denied
EADDRINUSE: Address already in use
EADDRNOTAVAIL: Cannot assign requested address
EAFNOSUPPORT: Address family not supported by protocol
EAGAIN: Resource temporarily unavailable
EALREADY: Operation already in progress
EBADF: Bad file descriptor
EBADMSG: Bad message
EBUSY: Device or resource busy
ECANCELED: Operation canceled
ECHILD: No child processes
ECONNABORTED: Software caused connection abort
ECONNREFUSED: Connection refused
ECONNRESET: Connection reset by peer
EDEADLK: Resource deadlock avoided
EDESTADDRREQ: Destination address required
EDOM: Numerical argument out of domain
EEXIST: File exists
EFAULT: Bad address
EFBIG: File too large
EHOSTUNREACH: No route to host
EIDRM: Identifier removed
EILSEQ: Invalid or incomplete multibyte or wide character
EINPROGRESS: Operation now in progress
EINTR: Interrupted system call
EINVAL: Invalid argument
EIO: Input/output error
EISCONN: Transport endpoint is already connected
EISDIR: Is a directory
ELOOP: Too many levels of symbolic links
EMFILE: Too many open files
EMLINK: Too many links
EMSGSIZE: Message too long
ENAMETOOLONG: File name too long
ENETDOWN: Network is down
ENETRESET: Network dropped connection on reset
ENETUNREACH: Network is unreachable
ENFILE: Too many open files in system
ENOBUFS: No buffer space available
ENODATA: No data available
ENODEV: No such device
ENOENT: No such file or directory
ENOEXEC: Exec format error
ENOLCK: No locks available
ENOLINK: Link has been severed
ENOMEM: Cannot allocate memory
ENOMSG: No message of desired type
ENOPROTOOPT: Protocol not available
ENOSPC: No space left on device
ENOSR: Out of streams resources
ENOSTR: Device not a stream
ENOSYS: Function not implemented
ENOTCONN: Transport endpoint is not connected
ENOTDIR: Not a directory
ENOTEMPTY: Directory not empty
ENOTRECOVERABLE: State not recoverable
ENOTSOCK: Socket operation on non-socket
ENOTSUP: Operation not supported
ENOTTY: Inappropriate ioctl for device
ENXIO: No such device or address
EOPNOTSUPP: Operation not supported
EOVERFLOW: Value too large for defined data type
EOWNERDEAD: Owner died
EPERM: Operation not permitted
EPIPE: Broken pipe
EPROTO: Protocol error
EPROTONOSUPPORT: Protocol not supported
EPROTOTYPE: Protocol wrong type for socket
ERANGE: Numerical result out of range
EROFS: Read-only file system
ESPIPE: Illegal seek
ESRCH: No such process
ETIME: Timer expired
ETIMEDOUT: Connection timed out
ETXTBSY: Text file busy
EWOULDBLOCK: Resource temporarily unavailable
EXDEV: Invalid cross-device link[bearbeiten] Siehe auch
| (C++11) |
die std::error_condition-Aufzählung, die alle Standard-Makrokonstanten aus <cerrno> listet (Klasse) |
| Makro, das zur POSIX-kompatiblen, Thread-lokalen Fehlernummern-Variable expandiert (Makrovariable) | |
| zeigt eine Zeichenkette des aktuellen Fehlers nach stderr an (function) | |
| gibt eine Textversion eines gegebenen Fehlercodes zurück (Funktion) | |
| C-Dokumentation für Fehlercodes
| |