Error numbers
Chacune des macros définies dans <cerrno> se développe en expressions constantes entières de type int , chacune avec une valeur positive, correspondant à la plupart des codes d'erreur POSIX . Les constantes suivantes sont définies (l'implémentation peut en définir davantage, à condition qu'elles commencent par 'E' suivi de chiffres ou de lettres majuscules).
|
Défini dans l'en-tête
<cerrno>
|
|
|
E2BIG
(C++11)
|
Liste d'arguments trop longue
(constante macro) |
|
EACCES
(C++11)
|
Permission refusée
(constante macro) |
|
EADDRINUSE
(C++11)
|
Adresse déjà utilisée
(constante macro) |
|
EADDRNOTAVAIL
(C++11)
|
Adresse non disponible
(constante macro) |
|
EAFNOSUPPORT
(C++11)
|
Famille d'adresses non prise en charge
(constante macro) |
|
EAGAIN
(C++11)
|
Ressource indisponible, réessayez
(constante macro) |
|
EALREADY
(C++11)
|
Connexion déjà en cours
(constante macro) |
|
EBADF
(C++11)
|
Descripteur de fichier incorrect
(constante macro) |
|
EBADMSG
(C++11)
|
Message incorrect
(constante macro) |
|
EBUSY
(C++11)
|
Périphérique ou ressource occupé
(constante macro) |
|
ECANCELED
(C++11)
|
Opération annulée
(constante macro) |
|
ECHILD
(C++11)
|
Aucun processus enfant
(constante macro) |
|
ECONNABORTED
(C++11)
|
Connexion abandonnée
(constante macro) |
|
ECONNREFUSED
(C++11)
|
Connexion refusée
(constante macro) |
|
ECONNRESET
(C++11)
|
Connexion réinitialisée
(constante macro) |
|
EDEADLK
(C++11)
|
Un interblocage de ressources se produirait
(constante macro) |
|
EDESTADDRREQ
(C++11)
|
Adresse de destination requise
(constante macro) |
|
EDOM
|
Argument mathématique hors du domaine de la fonction
(constante macro) |
|
EEXIST
(C++11)
|
Fichier existe
(constante macro) |
|
EFAULT
(C++11)
|
Adresse incorrecte
(constante macro) |
|
EFBIG
(C++11)
|
Fichier trop volumineux
(constante macro) |
|
EHOSTUNREACH
(C++11)
|
Hôte inaccessible
(constante macro) |
|
EIDRM
(C++11)
|
Identifiant supprimé
(constante macro) |
|
EILSEQ
(C++11)
|
Séquence d'octets illégale
(constante macro) |
|
EINPROGRESS
(C++11)
|
Opération en cours
(constante macro) |
|
EINTR
(C++11)
|
Fonction interrompue
(constante macro) |
|
EINVAL
(C++11)
|
Argument invalide
(macro constante) |
|
EIO
(C++11)
|
Erreur d'E/S
(constante macro) |
|
EISCONN
(C++11)
|
Le socket est connecté
(constante macro) |
|
EISDIR
(C++11)
|
Est un répertoire
(constante macro) |
|
ELOOP
(C++11)
|
Trop de niveaux de liens symboliques
(constante macro) |
|
EMFILE
(C++11)
|
Valeur du descripteur de fichier trop grande
(constante macro) |
|
EMLINK
(C++11)
|
Trop de liens
(constante macro) |
|
EMSGSIZE
(C++11)
|
Message trop volumineux
(constante macro) |
|
ENAMETOOLONG
(C++11)
|
Nom de fichier trop long
(constante macro) |
|
ENETDOWN
(C++11)
|
Réseau hors service
(constante macro) |
|
ENETRESET
(C++11)
|
Connexion interrompue par le réseau
(constante macro) |
|
ENETUNREACH
(C++11)
|
Réseau inaccessible
(constante macro) |
|
ENFILE
(C++11)
|
Trop de fichiers ouverts dans le système
(constante macro) |
|
ENOBUFS
(C++11)
|
Aucun espace tampon disponible
(constante macro) |
|
ENODATA
(C++11)
|
Aucun message n'est disponible dans la file de lecture du STREAM head
(constante macro) |
|
ENODEV
(C++11)
|
Périphérique inexistant
(constante macro) |
|
ENOENT
(C++11)
|
Fichier ou répertoire introuvable
(macro constant) |
|
ENOEXEC
(C++11)
|
Erreur de format de fichier exécutable
(constante macro) |
|
ENOLCK
(C++11)
|
Aucun verrou disponible
(constante macro) |
|
ENOLINK
(C++11)
|
La liaison a été rompue
(constante macro) |
|
ENOMEM
(C++11)
|
Espace insuffisant
(constante macro) |
|
ENOMSG
(C++11)
|
Aucun message du type souhaité
(constante macro) |
|
ENOPROTOOPT
(C++11)
|
Protocole non disponible
(constante macro) |
|
ENOSPC
(C++11)
|
Espace insuffisant sur le périphérique
(constante macro) |
|
ENOSR
(C++11)
|
Aucune ressource STREAM
(constante macro) |
|
ENOSTR
(C++11)
|
Pas un STREAM
(constante macro) |
|
ENOSYS
(C++11)
|
Fonction non supportée
(constante macro) |
|
ENOTCONN
(C++11)
|
Le socket n'est pas connecté
(constante macro) |
|
ENOTDIR
(C++11)
|
N'est pas un répertoire
(constante macro) |
|
ENOTEMPTY
(C++11)
|
Répertoire non vide
(constante macro) |
|
ENOTRECOVERABLE
(C++11)
|
État non récupérable
(constante macro) |
|
ENOTSOCK
(C++11)
|
N'est pas un socket
(constante macro) |
|
ENOTSUP
(C++11)
|
Non supporté
(constante macro) |
|
ENOTTY
(C++11)
|
Opération de contrôle d'E/S inappropriée
(constante macro) |
|
ENXIO
(C++11)
|
Aucun périphérique ou adresse de ce type
(constante macro) |
|
EOPNOTSUPP
(C++11)
|
Opération non supportée sur le socket
(constante macro) |
|
EOVERFLOW
(C++11)
|
Valeur trop grande pour être stockée dans le type de données
(constante macro) |
|
EOWNERDEAD
(C++11)
|
Propriétaire précédent décédé
(constante macro) |
|
EPERM
(C++11)
|
Opération non permise
(constante macro) |
|
EPIPE
(C++11)
|
Conduite rompue
(constante macro) |
|
EPROTO
(C++11)
|
Erreur de protocole
(constante macro) |
|
EPROTONOSUPPORT
(C++11)
|
Protocole non pris en charge
(constante macro) |
|
EPROTOTYPE
(C++11)
|
Protocole de type incorrect pour la socket
(constante macro) |
|
ERANGE
|
Résultat trop grand
(constante macro) |
|
EROFS
(C++11)
|
Système de fichiers en lecture seule
(constante macro) |
|
ESPIPE
(C++11)
|
Recherche invalide
(constante macro) |
|
ESRCH
(C++11)
|
Aucun processus de ce type
(constante macro) |
|
ETIME
(C++11)
|
Délai d'expiration ioctl() de flux
(constante macro) |
|
ETIMEDOUT
(C++11)
|
Connexion expirée
(constante macro) |
|
ETXTBSY
(C++11)
|
Fichier texte occupé
(constante macro) |
|
EWOULDBLOCK
(C++11)
|
L'opération bloquerait
(constante macro) |
|
EXDEV
(C++11)
|
Lien inter-périphérique
(constante macro) |
Toutes les valeurs doivent être uniques, sauf que les valeurs de
EOPNOTSUPP
et
ENOTSUP
peuvent être identiques et les valeurs de
EAGAIN
et
EWOULDBLOCK
peuvent être identiques.
Exemple
#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 << "Codes d'erreur/messages connus :\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 ); }
Sortie possible :
Codes/messages d'erreur connus :
E2BIG: Liste d'arguments trop longue
EACCES: Permission refusée
EADDRINUSE: Adresse déjà utilisée
EADDRNOTAVAIL: Impossible d'attribuer l'adresse demandée
EAFNOSUPPORT: Famille d'adresses non prise en charge par le protocole
EAGAIN: Ressource temporairement indisponible
EALREADY: Opération déjà en cours
EBADF: Descripteur de fichier incorrect
EBADMSG: Message incorrect
EBUSY: Périphérique ou ressource occupé(e)
ECANCELED: Opération annulée
ECHILD: Aucun processus enfant
ECONNABORTED: Connexion interrompue par le logiciel
ECONNREFUSED: Connexion refusée
ECONNRESET: Connexion réinitialisée par le pair
EDEADLK: Interblocage de ressource évité
EDESTADDRREQ: Adresse de destination requise
EDOM: Argument numérique hors du domaine
EEXIST: Fichier existe déjà
EFAULT: Adresse incorrecte
EFBIG: Fichier trop volumineux
EHOSTUNREACH: Aucune route vers l'hôte
EIDRM: Identifiant supprimé
EILSEQ: Caractère multioctet ou étendu invalide ou incomplet
EINPROGRESS: Opération en cours
EINTR: Appel système interrompu
EINVAL: Argument invalide
EIO: Erreur d'entrée/sortie
EISCONN: Point de terminaison de transport déjà connecté
EISDIR: Est un répertoire
ELOOP: Trop de niveaux de liens symboliques
EMFILE: Trop de fichiers ouverts
EMLINK: Trop de liens
EMSGSIZE: Message trop long
ENAMETOOLONG: Nom de fichier trop long
ENETDOWN: Réseau hors service
ENETRESET: Réseau a interrompu la connexion lors de la réinitialisation
ENETUNREACH: Réseau inaccessible
ENFILE: Trop de fichiers ouverts dans le système
ENOBUFS: Aucun espace tampon disponible
ENODATA: Aucune donnée disponible
ENODEV: Aucun périphérique de ce type
ENOENT: Fichier ou répertoire inexistant
ENOEXEC: Erreur de format d'exécution
ENOLCK: Aucun verrou disponible
ENOLINK: Lien rompu
ENOMEM: Impossible d'allouer la mémoire
ENOMSG: Aucun message du type souhaité
ENOPROTOOPT: Protocole non disponible
ENOSPC: Espace insuffisant sur le périphérique
ENOSR: Ressources de flux épuisées
ENOSTR: Périphérique n'est pas un flux
ENOSYS: Fonction non implémentée
ENOTCONN: Point de terminaison de transport non connecté
ENOTDIR: N'est pas un répertoire
ENOTEMPTY: Répertoire non vide
ENOTRECOVERABLE: État non récupérable
ENOTSOCK: Opération sur socket sur un non-socket
ENOTSUP: Opération non prise en charge
ENOTTY: ioctl inapproprié pour le périphérique
ENXIO: Périphérique ou adresse inexistant(e)
EOPNOTSUPP: Opération non prise en charge
EOVERFLOW: Valeur trop grande pour le type de données défini
EOWNERDEAD: Propriétaire décédé
EPERM: Opération non permise
EPIPE: Tube rompu
EPROTO: Erreur de protocole
EPROTONOSUPPORT: Protocole non pris en charge
EPROTOTYPE: Type de protocole incorrect pour le socket
ERANGE: Résultat numérique hors limites
EROFS: Système de fichiers en lecture seule
ESPIPE: Recherche illégale
ESRCH: Aucun processus de ce type
ETIME: Minuterie expirée
ETIMEDOUT: Connexion expirée
ETXTBSY: Fichier texte occupé
EWOULDBLOCK: Ressource temporairement indisponible
EXDEV: Lien inter-périphérique invalide
Voir aussi
|
(C++11)
|
l'énumération
std::error_condition
listant toutes les constantes de macro standard
<cerrno>
(classe) |
|
macro qui s'étend à la variable de numéro d'erreur thread-local compatible POSIX
(macro variable) |
|
|
affiche une chaîne de caractères correspondant à l'erreur courante vers
stderr
(fonction) |
|
|
retourne une version textuelle d'un code d'erreur donné
(fonction) |
|
|
Documentation C
pour
Numéros d'erreur
|
|