Namespaces
Variants

Error numbers

From cppreference.net
< c ‎ | error

Cada una de las macros definidas en <errno.h> se expande a una expresión constante entera con tipo int y con un valor positivo único. Las siguientes constantes están definidas por ISO C. La implementación puede definir más, siempre que comiencen con 'E' seguido de dígitos o letras mayúsculas.

Definido en el encabezado <errno.h>
EDOM
Argumento matemático fuera del dominio de la función
(constante macro)
EILSEQ
(C95)
Secuencia de bytes ilegal
(constante macro)
ERANGE
Resultado demasiado grande
(constante macro)

Contenidos

Notas

Muchas constantes adicionales de errno están definidas por POSIX y por la biblioteca estándar de C++ , y las implementaciones individuales pueden definir aún más, por ejemplo errno ( 3 ) en Linux o intro ( 2 ) en BSD y OS X.

Ejemplo

#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));
}

Salida posible:

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

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.5/2 Errores <errno.h> (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.5/2 Errores <errno.h> (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.5/2 Errores <errno.h> (p: 205)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.5/2 Errores <errno.h> (p: 186)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.1.3 Errores <errno.h>

Véase también

macro que se expande a una variable local de hilo compatible con POSIX para números de error
(macro variable)
muestra una cadena de caracteres correspondiente al error actual en stderr
(función)
devuelve una versión textual de un código de error dado
(función)
C++ documentation para Error numbers