Error numbers
De cppreference.com
Cada una de las macros definidas en <errno.h> se expande a una expresión entera constante con el tipo int y con un valor positivo único. Las siguientes constantes están definidas por la ISO C. La implementación puede definir más, siempre y cuando comiencen con 'E' seguido de dígitos o letras mayúsculas.
Definido en el archivo de encabezado
<errno.h> | |
EDOM |
Argumento matemático fuera del dominio de la función (constante de macro) |
EILSEQ (C95) |
Secuencia de bytes ilegal (constante de macro) |
ERANGE |
Resultado demasiado grande (constante de macro) |
Observaciones
Muchas constantes errno adicionales son definidas por POSIX y por la biblioteca estandar de C++, e implementaciones individuales pueden definir aún más, por ejemplo errno(3) en Linux o intro(2) en BSD y OS X.
Ejemplo
Ejecuta este código
#include <stdio.h>
#include <math.h>
#include <errno.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));
}
Posible salida:
log(-1.0) = nan
Numerical argument out of domain
log(0.0) = -inf
Numerical result out of range
Referencias
- Standard C11 (ISO/IEC 9899:2011):
- 7.5/2 Errors <errno.h> (p: 205)
- Standard C99 (ISO/IEC 9899:1999):
- 7.5/2 Errors <errno.h> (p: 186)
- Standard C89/C90 (ISO/IEC 9899:1990):
- 4.1.3 Errors <errno.h>
Véase también
| macro que se expande a una variable de número de error local de hilo compatible con POSIX (macro de variable) | |
| muestra una cadena de caracteres correspondiente al error actual a stderr (función) | |
(C11)(C11) |
retorna una versión de texto de un código de error dado (función) |
Documentación de C++ para Números de error
| |