Namespaces
Variants

Error numbers

From cppreference.net
< c ‎ | error

Chacune des macros définies dans <errno.h> s'étend en une expression constante entière de type int et avec une valeur positive unique. Les constantes suivantes sont définies par ISO C. 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 <errno.h>
EDOM
Argument mathématique hors du domaine de la fonction
(constante macro)
EILSEQ
(C95)
Séquence d'octets illégale
(constante macro)
ERANGE
Résultat trop grand
(constante macro)

Table des matières

Notes

De nombreuses constantes errno supplémentaires sont définies par POSIX et par la bibliothèque standard C++ , et les implémentations individuelles peuvent en définir encore plus, par exemple errno ( 3 ) sur Linux ou intro ( 2 ) sur BSD et OS X.

Exemple

#include <errno.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
    errno = 0;
    printf("log(-1.0) = %f\n", log(-1.0));
    printf("%s\n\n", strerror(errno));
    errno = 0;
    printf("log(0.0)  = %f\n", log(0.0));
    printf("%s\n", strerror(errno));
}

Sortie possible :

log(-1.0) = nan
Numerical argument out of domain
log(0.0)  = -inf
Numerical result out of range

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.5/2 Erreurs <errno.h> (p: À déterminer)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.5/2 Erreurs <errno.h> (p: À DÉTERMINER)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.5/2 Erreurs <errno.h> (p: 205)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.5/2 Erreurs <errno.h> (p: 186)
  • Norme C89/C90 (ISO/CEI 9899:1990) :
  • 4.1.3 Erreurs <errno.h>

Voir aussi

macro qui s'étend à une 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
(function)
retourne une version textuelle d'un code d'erreur donné
(function)
Documentation C++ pour Numéros d'erreur