Error numbers
Cada una de las macros definidas en <cerrno> se expande a expresiones constantes enteras de tipo int , cada una con un valor positivo, que coinciden con la mayoría de los códigos de error POSIX . Se definen las siguientes constantes (la implementación puede definir más, siempre que comiencen con 'E' seguido de dígitos o letras mayúsculas).
|
Definido en el encabezado
<cerrno>
|
|
|
E2BIG
(C++11)
|
Lista de argumentos demasiado larga
(constante macro) |
|
EACCES
(C++11)
|
Permiso denegado
(macro constante) |
|
EADDRINUSE
(C++11)
|
Dirección en uso
(constante macro) |
|
EADDRNOTAVAIL
(C++11)
|
Dirección no disponible
(constante macro) |
|
EAFNOSUPPORT
(C++11)
|
Familia de direcciones no soportada
(macro constante) |
|
EAGAIN
(C++11)
|
Recurso no disponible, intente nuevamente
(macro constante) |
|
EALREADY
(C++11)
|
Conexión ya en progreso
(macro constante) |
|
EBADF
(C++11)
|
Descriptor de archivo incorrecto
(macro constante) |
|
EBADMSG
(C++11)
|
Mensaje incorrecto
(constante macro) |
|
EBUSY
(C++11)
|
Dispositivo o recurso ocupado
(constante macro) |
|
ECANCELED
(C++11)
|
Operación cancelada
(macro constante) |
|
ECHILD
(C++11)
|
No hay procesos hijos
(constante macro) |
|
ECONNABORTED
(C++11)
|
Conexión abortada
(constante macro) |
|
ECONNREFUSED
(C++11)
|
Conexión rechazada
(macro constante) |
|
ECONNRESET
(C++11)
|
Conexión reiniciada
(constante macro) |
|
EDEADLK
(C++11)
|
Ocurriría un interbloqueo de recursos
(constante macro) |
|
EDESTADDRREQ
(C++11)
|
Dirección de destino requerida
(constante macro) |
|
EDOM
|
Argumento matemático fuera del dominio de la función
(macro constante) |
|
EEXIST
(C++11)
|
El archivo ya existe
(constante macro) |
|
EFAULT
(C++11)
|
Dirección incorrecta
(constante macro) |
|
EFBIG
(C++11)
|
Archivo demasiado grande
(constante macro) |
|
EHOSTUNREACH
(C++11)
|
El host es inalcanzable
(constante macro) |
|
EIDRM
(C++11)
|
Identificador eliminado
(macro constante) |
|
EILSEQ
(C++11)
|
Secuencia de bytes ilegal
(constante macro) |
|
EINPROGRESS
(C++11)
|
Operación en progreso
(macro constante) |
|
EINTR
(C++11)
|
Función interrumpida
(constante macro) |
|
EINVAL
(C++11)
|
Argumento inválido
(macro constante) |
|
EIO
(C++11)
|
Error de E/S
(constante macro) |
|
EISCONN
(C++11)
|
Socket está conectado
(constante macro) |
|
EISDIR
(C++11)
|
Es un directorio
(constante macro) |
|
ELOOP
(C++11)
|
Demasiados niveles de enlaces simbólicos
(macro constante) |
|
EMFILE
(C++11)
|
Valor del descriptor de archivo demasiado grande
(constante macro) |
|
EMLINK
(C++11)
|
Demasiados enlaces
(macro constante) |
|
EMSGSIZE
(C++11)
|
Mensaje demasiado grande
(macro constante) |
|
ENAMETOOLONG
(C++11)
|
Nombre de archivo demasiado largo
(macro constante) |
|
ENETDOWN
(C++11)
|
Red no disponible
(constante macro) |
|
ENETRESET
(C++11)
|
Conexión abortada por la red
(constante macro) |
|
ENETUNREACH
(C++11)
|
Red no alcanzable
(macro constante) |
|
ENFILE
(C++11)
|
Demasiados archivos abiertos en el sistema
(constante macro) |
|
ENOBUFS
(C++11)
|
No hay espacio disponible en el búfer
(constante macro) |
|
ENODATA
(C++11)
|
No hay mensaje disponible en la cola de lectura de la cabecera del STREAM
(constante macro) |
|
ENODEV
(C++11)
|
Dispositivo no encontrado
(constante macro) |
|
ENOENT
(C++11)
|
No existe tal archivo o directorio
(macro constante) |
|
ENOEXEC
(C++11)
|
Error en el formato del archivo ejecutable
(constante macro) |
|
ENOLCK
(C++11)
|
No hay cerraduras disponibles
(constante macro) |
|
ENOLINK
(C++11)
|
El enlace ha sido cortado
(macro constante) |
|
ENOMEM
(C++11)
|
Espacio insuficiente
(constante macro) |
|
ENOMSG
(C++11)
|
No hay mensaje del tipo deseado
(macro constante) |
|
ENOPROTOOPT
(C++11)
|
Protocolo no disponible
(constante macro) |
|
ENOSPC
(C++11)
|
No hay espacio disponible en el dispositivo
(macro constante) |
|
ENOSR
(C++11)
|
No hay recursos STREAM
(constante macro) |
|
ENOSTR
(C++11)
|
No es un STREAM
(constante macro) |
|
ENOSYS
(C++11)
|
Función no soportada
(macro constante) |
|
ENOTCONN
(C++11)
|
El socket no está conectado
(constante macro) |
|
ENOTDIR
(C++11)
|
No es un directorio
(constante macro) |
|
ENOTEMPTY
(C++11)
|
Directorio no vacío
(constante macro) |
|
ENOTRECOVERABLE
(C++11)
|
Estado no recuperable
(constante macro) |
|
ENOTSOCK
(C++11)
|
No es un socket
(constante macro) |
|
ENOTSUP
(C++11)
|
No soportado
(macro constante) |
|
ENOTTY
(C++11)
|
Operación de control de E/S inapropiada
(macro constante) |
|
ENXIO
(C++11)
|
No existe tal dispositivo o dirección
(constante macro) |
|
EOPNOTSUPP
(C++11)
|
Operación no soportada en el socket
(constante macro) |
|
EOVERFLOW
(C++11)
|
Valor demasiado grande para ser almacenado en el tipo de dato
(macro constante) |
|
EOWNERDEAD
(C++11)
|
Propietario anterior fallecido
(constante macro) |
|
EPERM
(C++11)
|
Operación no permitida
(macro constante) |
|
EPIPE
(C++11)
|
Tubería rota
(constante macro) |
|
EPROTO
(C++11)
|
Error de protocolo
(constante macro) |
|
EPROTONOSUPPORT
(C++11)
|
Protocolo no soportado
(constante macro) |
|
EPROTOTYPE
(C++11)
|
Protocolo tipo incorrecto para socket
(constante macro) |
|
ERANGE
|
Resultado demasiado grande
(macro constante) |
|
EROFS
(C++11)
|
Sistema de archivos de solo lectura
(constante macro) |
|
ESPIPE
(C++11)
|
Búsqueda inválida
(constante macro) |
|
ESRCH
(C++11)
|
No existe tal proceso
(constante macro) |
|
ETIME
(C++11)
|
Tiempo de espera de ioctl() de flujo
(constante macro) |
|
ETIMEDOUT
(C++11)
|
Conexión agotó el tiempo de espera
(constante macro) |
|
ETXTBSY
(C++11)
|
Archivo de texto ocupado
(constante macro) |
|
EWOULDBLOCK
(C++11)
|
La operación se bloquearía
(constante macro) |
|
EXDEV
(C++11)
|
Enlace entre dispositivos
(constante macro) |
Todos los valores deben ser únicos, excepto que los valores de
EOPNOTSUPP
y
ENOTSUP
pueden ser idénticos, y los valores de
EAGAIN
y
EWOULDBLOCK
pueden ser idénticos.
Ejemplo
#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 << "Códigos/mensajes de error conocidos:\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 ); }
Salida posible:
Códigos/mensajes de error conocidos:
E2BIG: Lista de argumentos demasiado larga
EACCES: Permiso denegado
EADDRINUSE: Dirección ya en uso
EADDRNOTAVAIL: No se puede asignar la dirección solicitada
EAFNOSUPPORT: Familia de direcciones no soportada por el protocolo
EAGAIN: Recurso temporalmente no disponible
EALREADY: Operación ya en progreso
EBADF: Descriptor de archivo incorrecto
EBADMSG: Mensaje incorrecto
EBUSY: Dispositivo o recurso ocupado
ECANCELED: Operación cancelada
ECHILD: No hay procesos hijos
ECONNABORTED: Conexión abortada por software
ECONNREFUSED: Conexión rechazada
ECONNRESET: Conexión reiniciada por el par
EDEADLK: Punto muerto de recursos evitado
EDESTADDRREQ: Dirección de destino requerida
EDOM: Argumento numérico fuera de dominio
EEXIST: Archivo existe
EFAULT: Dirección incorrecta
EFBIG: Archivo demasiado grande
EHOSTUNREACH: No hay ruta al host
EIDRM: Identificador eliminado
EILSEQ: Carácter multibyte o ancho inválido o incompleto
EINPROGRESS: Operación ahora en progreso
EINTR: Llamada al sistema interrumpida
EINVAL: Argumento inválido
EIO: Error de entrada/salida
EISCONN: Endpoint de transporte ya conectado
EISDIR: Es un directorio
ELOOP: Demasiados niveles de enlaces simbólicos
EMFILE: Demasiados archivos abiertos
EMLINK: Demasiados enlaces
EMSGSIZE: Mensaje demasiado largo
ENAMETOOLONG: Nombre de archivo demasiado largo
ENETDOWN: Red no disponible
ENETRESET: Red eliminó conexión en reinicio
ENETUNREACH: Red inalcanzable
ENFILE: Demasiados archivos abiertos en el sistema
ENOBUFS: No hay espacio disponible en el búfer
ENODATA: No hay datos disponibles
ENODEV: No existe el dispositivo
ENOENT: No existe el archivo o directorio
ENOEXEC: Error de formato ejecutable
ENOLCK: No hay bloqueos disponibles
ENOLINK: Enlace ha sido cortado
ENOMEM: No se puede asignar memoria
ENOMSG: No hay mensaje del tipo deseado
ENOPROTOOPT: Protocolo no disponible
ENOSPC: No queda espacio en el dispositivo
ENOSR: Recursos de flujos agotados
ENOSTR: Dispositivo no es un flujo
ENOSYS: Función no implementada
ENOTCONN: Endpoint de transporte no conectado
ENOTDIR: No es un directorio
ENOTEMPTY: Directorio no vacío
ENOTRECOVERABLE: Estado no recuperable
ENOTSOCK: Operación de socket en no-socket
ENOTSUP: Operación no soportada
ENOTTY: ioctl inapropiado para el dispositivo
ENXIO: No existe el dispositivo o dirección
EOPNOTSUPP: Operación no soportada
EOVERFLOW: Valor demasiado grande para el tipo de dato definido
EOWNERDEAD: Propietario fallecido
EPERM: Operación no permitida
EPIPE: Tubería rota
EPROTO: Error de protocolo
EPROTONOSUPPORT: Protocolo no soportado
EPROTOTYPE: Tipo de protocolo incorrecto para socket
ERANGE: Resultado numérico fuera de rango
EROFS: Sistema de archivos de solo lectura
ESPIPE: Búsqueda ilegal
ESRCH: No existe el proceso
ETIME: Temporizador expirado
ETIMEDOUT: Conexión agotó el tiempo de espera
ETXTBSY: Archivo de texto ocupado
EWOULDBLOCK: Recurso temporalmente no disponible
EXDEV: Enlace cruzado entre dispositivos inválido
Véase también
|
(C++11)
|
la enumeración
std::error_condition
que lista todas las constantes macro estándar de
<cerrno>
(clase) |
|
macro que se expande a una variable de número de error local al hilo compatible con POSIX
(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) |
|
|
Documentación C
para
Números de error
|
|