Namespaces
Variants

Error numbers

From cppreference.net

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