Namespaces
Variants

Error numbers

From cppreference.net

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