Namespaces
Variants
Actions

Error numbers

From cppreference.com
< cpp‎ | error
 
 
Diagnostics library
 

Each of the macros defined in <cerrno> expands to integer constant expressions with type int, each with a positive value, matching most of the POSIX error codes. The following constants are defined (the implementation may define more, as long as they begin with 'E' followed by digits or uppercase letters).

Defined in header <cerrno>
E2BIG
(C++11)
Argument list too long
(macro constant)
EACCES
(C++11)
Permission denied
(macro constant)
EADDRINUSE
(C++11)
Address in use
(macro constant)
EADDRNOTAVAIL
(C++11)
Address not available
(macro constant)
EAFNOSUPPORT
(C++11)
Address family not supported
(macro constant)
EAGAIN
(C++11)
Resource unavailable, try again
(macro constant)
EALREADY
(C++11)
Connection already in progress
(macro constant)
EBADF
(C++11)
Bad file descriptor
(macro constant)
EBADMSG
(C++11)
Bad message
(macro constant)
EBUSY
(C++11)
Device or resource busy
(macro constant)
ECANCELED
(C++11)
Operation canceled
(macro constant)
ECHILD
(C++11)
No child processes
(macro constant)
ECONNABORTED
(C++11)
Connection aborted
(macro constant)
ECONNREFUSED
(C++11)
Connection refused
(macro constant)
ECONNRESET
(C++11)
Connection reset
(macro constant)
EDEADLK
(C++11)
Resource deadlock would occur
(macro constant)
EDESTADDRREQ
(C++11)
Destination address required
(macro constant)
EDOM
Mathematics argument out of domain of function
(macro constant)
EEXIST
(C++11)
File exists
(macro constant)
EFAULT
(C++11)
Bad address
(macro constant)
EFBIG
(C++11)
File too large
(macro constant)
EHOSTUNREACH
(C++11)
Host is unreachable
(macro constant)
EIDRM
(C++11)
Identifier removed
(macro constant)
EILSEQ
(C++11)
Illegal byte sequence
(macro constant)
EINPROGRESS
(C++11)
Operation in progress
(macro constant)
EINTR
(C++11)
Interrupted function
(macro constant)
EINVAL
(C++11)
Invalid argument
(macro constant)
EIO
(C++11)
I/O error
(macro constant)
EISCONN
(C++11)
Socket is connected
(macro constant)
EISDIR
(C++11)
Is a directory
(macro constant)
ELOOP
(C++11)
Too many levels of symbolic links
(macro constant)
EMFILE
(C++11)
File descriptor value too large
(macro constant)
EMLINK
(C++11)
Too many links
(macro constant)
EMSGSIZE
(C++11)
Message too large
(macro constant)
ENAMETOOLONG
(C++11)
Filename too long
(macro constant)
ENETDOWN
(C++11)
Network is down
(macro constant)
ENETRESET
(C++11)
Connection aborted by network
(macro constant)
ENETUNREACH
(C++11)
Network unreachable
(macro constant)
ENFILE
(C++11)
Too many files open in system
(macro constant)
ENOBUFS
(C++11)
No buffer space available
(macro constant)
ENODATA
(C++11)
No message is available on the STREAM head read queue
(macro constant)
ENODEV
(C++11)
No such device
(macro constant)
ENOENT
(C++11)
No such file or directory
(macro constant)
ENOEXEC
(C++11)
Executable file format error
(macro constant)
ENOLCK
(C++11)
No locks available
(macro constant)
ENOLINK
(C++11)
Link has been severed
(macro constant)
ENOMEM
(C++11)
Not enough space
(macro constant)
ENOMSG
(C++11)
No message of the desired type
(macro constant)
ENOPROTOOPT
(C++11)
Protocol not available
(macro constant)
ENOSPC
(C++11)
No space left on device
(macro constant)
ENOSR
(C++11)
No STREAM resources
(macro constant)
ENOSTR
(C++11)
Not a STREAM
(macro constant)
ENOSYS
(C++11)
Function not supported
(macro constant)
ENOTCONN
(C++11)
The socket is not connected
(macro constant)
ENOTDIR
(C++11)
Not a directory
(macro constant)
ENOTEMPTY
(C++11)
Directory not empty
(macro constant)
ENOTRECOVERABLE
(C++11)
State not recoverable
(macro constant)
ENOTSOCK
(C++11)
Not a socket
(macro constant)
ENOTSUP
(C++11)
Not supported
(macro constant)
ENOTTY
(C++11)
Inappropriate I/O control operation
(macro constant)
ENXIO
(C++11)
No such device or address
(macro constant)
EOPNOTSUPP
(C++11)
Operation not supported on socket
(macro constant)
EOVERFLOW
(C++11)
Value too large to be stored in data type
(macro constant)
EOWNERDEAD
(C++11)
Previous owner died
(macro constant)
EPERM
(C++11)
Operation not permitted
(macro constant)
EPIPE
(C++11)
Broken pipe
(macro constant)
EPROTO
(C++11)
Protocol error
(macro constant)
EPROTONOSUPPORT
(C++11)
Protocol not supported
(macro constant)
EPROTOTYPE
(C++11)
Protocol wrong type for socket
(macro constant)
ERANGE
Result too large
(macro constant)
EROFS
(C++11)
Read-only file system
(macro constant)
ESPIPE
(C++11)
Invalid seek
(macro constant)
ESRCH
(C++11)
No such process
(macro constant)
ETIME
(C++11)
Stream ioctl() timeout
(macro constant)
ETIMEDOUT
(C++11)
Connection timed out
(macro constant)
ETXTBSY
(C++11)
Text file busy
(macro constant)
EWOULDBLOCK
(C++11)
Operation would block
(macro constant)
EXDEV
(C++11)
Cross-device link
(macro constant)

All values are required to be unique except that the values of EOPNOTSUPP and ENOTSUP may be identical and the values of EAGAIN and EWOULDBLOCK may be identical.

[edit] Example

Run this code
#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 << "Known error codes/messages:\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 );
}

Possible output:

Known error codes/messages:
 
 E2BIG: Argument list too long
 EACCES: Permission denied
 EADDRINUSE: Address already in use
 EADDRNOTAVAIL: Cannot assign requested address
 EAFNOSUPPORT: Address family not supported by protocol
 EAGAIN: Resource temporarily unavailable
 EALREADY: Operation already in progress
 EBADF: Bad file descriptor
 EBADMSG: Bad message
 EBUSY: Device or resource busy
 ECANCELED: Operation canceled
 ECHILD: No child processes
 ECONNABORTED: Software caused connection abort
 ECONNREFUSED: Connection refused
 ECONNRESET: Connection reset by peer
 EDEADLK: Resource deadlock avoided
 EDESTADDRREQ: Destination address required
 EDOM: Numerical argument out of domain
 EEXIST: File exists
 EFAULT: Bad address
 EFBIG: File too large
 EHOSTUNREACH: No route to host
 EIDRM: Identifier removed
 EILSEQ: Invalid or incomplete multibyte or wide character
 EINPROGRESS: Operation now in progress
 EINTR: Interrupted system call
 EINVAL: Invalid argument
 EIO: Input/output error
 EISCONN: Transport endpoint is already connected
 EISDIR: Is a directory
 ELOOP: Too many levels of symbolic links
 EMFILE: Too many open files
 EMLINK: Too many links
 EMSGSIZE: Message too long
 ENAMETOOLONG: File name too long
 ENETDOWN: Network is down
 ENETRESET: Network dropped connection on reset
 ENETUNREACH: Network is unreachable
 ENFILE: Too many open files in system
 ENOBUFS: No buffer space available
 ENODATA: No data available
 ENODEV: No such device
 ENOENT: No such file or directory
 ENOEXEC: Exec format error
 ENOLCK: No locks available
 ENOLINK: Link has been severed
 ENOMEM: Cannot allocate memory
 ENOMSG: No message of desired type
 ENOPROTOOPT: Protocol not available
 ENOSPC: No space left on device
 ENOSR: Out of streams resources
 ENOSTR: Device not a stream
 ENOSYS: Function not implemented
 ENOTCONN: Transport endpoint is not connected
 ENOTDIR: Not a directory
 ENOTEMPTY: Directory not empty
ENOTRECOVERABLE: State not recoverable
 ENOTSOCK: Socket operation on non-socket
 ENOTSUP: Operation not supported
 ENOTTY: Inappropriate ioctl for device
 ENXIO: No such device or address
 EOPNOTSUPP: Operation not supported
 EOVERFLOW: Value too large for defined data type
 EOWNERDEAD: Owner died
 EPERM: Operation not permitted
 EPIPE: Broken pipe
 EPROTO: Protocol error
EPROTONOSUPPORT: Protocol not supported
 EPROTOTYPE: Protocol wrong type for socket
 ERANGE: Numerical result out of range
 EROFS: Read-only file system
 ESPIPE: Illegal seek
 ESRCH: No such process
 ETIME: Timer expired
 ETIMEDOUT: Connection timed out
 ETXTBSY: Text file busy
 EWOULDBLOCK: Resource temporarily unavailable
 EXDEV: Invalid cross-device link

[edit] See also

(C++11)
the std::error_condition enumeration listing all standard <cerrno> macro constants
(class) [edit]
macro which expands to POSIX-compatible thread-local error number variable
(macro variable)[edit]
displays a character string corresponding of the current error to stderr
(function) [edit]
returns a text version of a given error code
(function) [edit]
C documentation for Error numbers
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/error/errno_macros&oldid=157320"

AltStyle によって変換されたページ (->オリジナル) /