Заголовочный файл стандартной библиотеки <cerrno>
Материал из cppreference.com
Этот заголовочный файл изначально был в стандартной библиотеке C как <errno.h>.
Этот заголовок является частью библиотеки обработки ошибок.
Macros
| макрос, который расширяется до переменной номера локальной ошибки потока, совместимой с POSIX (macro variable) | |
E2BIG (C++11) |
Список аргументов слишком длинный (макроконстанта) |
EACCES (C++11) |
Доступ запрещён (макроконстанта) |
EADDRINUSE (C++11) |
Адрес используется (макроконстанта) |
EADDRNOTAVAIL (C++11) |
Адрес недоступен (макроконстанта) |
EAFNOSUPPORT (C++11) |
Семейство адресов не поддерживается (макроконстанта) |
EAGAIN (C++11) |
Ресурс недоступен, попробуйте ещё раз (макроконстанта) |
EALREADY (C++11) |
Подключение уже выполняется (макроконстанта) |
EBADF (C++11) |
Неверный файловый дескриптор (макроконстанта) |
EBADMSG (C++11) |
Неверное сообщение (макроконстанта) |
EBUSY (C++11) |
Устройство или ресурс занят (макроконстанта) |
ECANCELED (C++11) |
Операция отменена (макроконстанта) |
ECHILD (C++11) |
Нет дочерних процессов (макроконстанта) |
ECONNABORTED (C++11) |
Соединение прервано (макроконстанта) |
ECONNREFUSED (C++11) |
В соединении отказано (макроконстанта) |
ECONNRESET (C++11) |
Соединения сброшено (макроконстанта) |
EDEADLK (C++11) |
Возникнет взаимоблокировка ресурсов (макроконстанта) |
EDESTADDRREQ (C++11) |
Требуется адрес назначения (макроконстанта) |
EDOM |
Математический аргумент вне области действия функции (макроконстанта) |
EEXIST (C++11) |
Файл существует (макроконстанта) |
EFAULT (C++11) |
Неверный адрес (макроконстанта) |
EFBIG (C++11) |
Файл слишком большой (макроконстанта) |
EHOSTUNREACH (C++11) |
Хост недоступен (макроконстанта) |
EIDRM (C++11) |
Идентификатор удалён (макроконстанта) |
EILSEQ |
Недопустимая последовательность байтов (макроконстанта) |
EINPROGRESS (C++11) |
Операция выполняется (макроконстанта) |
EINTR (C++11) |
Функция прервана (макроконстанта) |
EINVAL (C++11) |
Недействительный аргумент (макроконстанта) |
EIO (C++11) |
Ошибка Ввода/Вывода (макроконстанта) |
EISCONN (C++11) |
Сокет подключен (макроконстанта) |
EISDIR (C++11) |
Это каталог (макроконстанта) |
ELOOP (C++11) |
Слишком много уровней символических ссылок (макроконстанта) |
EMFILE (C++11) |
Слишком большое значение дескриптора файла (макроконстанта) |
EMLINK (C++11) |
Слишком много ссылок (макроконстанта) |
EMSGSIZE (C++11) |
Сообщение слишком большое (макроконстанта) |
ENAMETOOLONG (C++11) |
Имя файла слишком длинное (макроконстанта) |
ENETDOWN (C++11) |
Сеть не работает (макроконстанта) |
ENETRESET (C++11) |
Соединение прервано сетью (макроконстанта) |
ENETUNREACH (C++11) |
Сеть недоступна (макроконстанта) |
ENFILE (C++11) |
В системе открыто слишком много файлов (макроконстанта) |
ENOBUFS (C++11) |
Нет доступного буферного пространства (макроконстанта) |
ENODATA (C++11) (устарело в C++23) |
Нет доступных сообщений в очереди чтения заголовка STREAM (макроконстанта) |
ENODEV (C++11) |
Нет такого устройства (макроконстанта) |
ENOENT (C++11) |
Нет такого файла или каталога (макроконстанта) |
ENOEXEC (C++11) |
Ошибка формата исполняемого файла (макроконстанта) |
ENOLCK (C++11) |
Нет доступных блокировок (макроконстанта) |
ENOLINK (C++11) |
Ссылка была разорвана (макроконстанта) |
ENOMEM (C++11) |
Недостаточно пространства (макроконстанта) |
ENOMSG (C++11) |
Нет сообщения нужного типа (макроконстанта) |
ENOPROTOOPT (C++11) |
Протокол недоступен (макроконстанта) |
ENOSPC (C++11) |
На устройстве нет свободного места (макроконстанта) |
ENOSR (C++11) (устарело в C++23) |
Нет ресурсов STREAM (макроконстанта) |
ENOSTR (C++11) (устарело в C++23) |
Не STREAM (макроконстанта) |
ENOSYS (C++11) |
Функция не поддерживается (макроконстанта) |
ENOTCONN (C++11) |
Сокет не подключен (макроконстанта) |
ENOTDIR (C++11) |
Не каталог (макроконстанта) |
ENOTEMPTY (C++11) |
Каталог не пуст (макроконстанта) |
ENOTRECOVERABLE (C++11) |
Состояние не подлежит восстановлению (макроконстанта) |
ENOTSOCK (C++11) |
Не сокет (макроконстанта) |
ENOTSUP (C++11) |
Не поддерживается (макроконстанта) |
ENOTTY (C++11) |
Неправильная операция управления Вводом/Выводом (макроконстанта) |
ENXIO (C++11) |
Нет такого устройства или адреса (макроконстанта) |
EOPNOTSUPP (C++11) |
Операция не поддерживается на сокете (макроконстанта) |
EOVERFLOW (C++11) |
Значение слишком велико для сохранения в типе данных (макроконстанта) |
EOWNERDEAD (C++11) |
Предыдущий владелец мёртв (макроконстанта) |
EPERM (C++11) |
Операция не разрешена (макроконстанта) |
EPIPE (C++11) |
Сломанный канал (макроконстанта) |
EPROTO (C++11) |
Ошибка протокола (макроконстанта) |
EPROTONOSUPPORT (C++11) |
Протокол не поддерживается (макроконстанта) |
EPROTOTYPE (C++11) |
Неверный тип протокола для сокета (макроконстанта) |
ERANGE |
Результат слишком большой (макроконстанта) |
EROFS (C++11) |
Файловая система только для чтения (макроконстанта) |
ESPIPE (C++11) |
Неверный seek (макроконстанта) |
ESRCH (C++11) |
Нет такого процесса (макроконстанта) |
ETIME (C++11) (устарело в C++23) |
Тайм-аут потока ioctl() (макроконстанта) |
ETIMEDOUT (C++11) |
Время соединения истекло (макроконстанта) |
ETXTBSY (C++11) |
Текстовый файл занят (макроконстанта) |
EWOULDBLOCK (C++11) |
Операция будет заблокирована (макроконстанта) |
EXDEV (C++11) |
Ссылка через устройство (макроконстанта) |
Примечание
Хотя заголовок <cerrno> основан на заголовке стандартной библиотеки C <errno.h>, большинство макросов, определённых <cerrno>, были приняты C++ из стандарта POSIX, а не из стандартной библиотеки C.
Резюме
#define errno /* смотри описание */
#define E2BIG /* смотри описание */ // автономная
#define EACCES /* смотри описание */ // автономная
#define EADDRINUSE /* смотри описание */ // автономная
#define EADDRNOTAVAIL /* смотри описание */ // автономная
#define EAFNOSUPPORT /* смотри описание */ // автономная
#define EAGAIN /* смотри описание */ // автономная
#define EALREADY /* смотри описание */ // автономная
#define EBADF /* смотри описание */ // автономная
#define EBADMSG /* смотри описание */ // автономная
#define EBUSY /* смотри описание */ // автономная
#define ECANCELED /* смотри описание */ // автономная
#define ECHILD /* смотри описание */ // автономная
#define ECONNABORTED /* смотри описание */ // автономная
#define ECONNREFUSED /* смотри описание */ // автономная
#define ECONNRESET /* смотри описание */ // автономная
#define EDEADLK /* смотри описание */ // автономная
#define EDESTADDRREQ /* смотри описание */ // автономная
#define EDOM /* смотри описание */ // автономная
#define EEXIST /* смотри описание */ // автономная
#define EFAULT /* смотри описание */ // автономная
#define EFBIG /* смотри описание */ // автономная
#define EHOSTUNREACH /* смотри описание */ // автономная
#define EIDRM /* смотри описание */ // автономная
#define EILSEQ /* смотри описание */ // автономная
#define EINPROGRESS /* смотри описание */ // автономная
#define EINTR /* смотри описание */ // автономная
#define EINVAL /* смотри описание */ // автономная
#define EIO /* смотри описание */ // автономная
#define EISCONN /* смотри описание */ // автономная
#define EISDIR /* смотри описание */ // автономная
#define ELOOP /* смотри описание */ // автономная
#define EMFILE /* смотри описание */ // автономная
#define EMLINK /* смотри описание */ // автономная
#define EMSGSIZE /* смотри описание */ // автономная
#define ENAMETOOLONG /* смотри описание */ // автономная
#define ENETDOWN /* смотри описание */ // автономная
#define ENETRESET /* смотри описание */ // автономная
#define ENETUNREACH /* смотри описание */ // автономная
#define ENFILE /* смотри описание */ // автономная
#define ENOBUFS /* смотри описание */ // автономная
#define ENODEV /* смотри описание */ // автономная
#define ENOENT /* смотри описание */ // автономная
#define ENOEXEC /* смотри описание */ // автономная
#define ENOLCK /* смотри описание */ // автономная
#define ENOLINK /* смотри описание */ // автономная
#define ENOMEM /* смотри описание */ // автономная
#define ENOMSG /* смотри описание */ // автономная
#define ENOPROTOOPT /* смотри описание */ // автономная
#define ENOSPC /* смотри описание */ // автономная
#define ENOSYS /* смотри описание */ // автономная
#define ENOTCONN /* смотри описание */ // автономная
#define ENOTDIR /* смотри описание */ // автономная
#define ENOTEMPTY /* смотри описание */ // автономная
#define ENOTRECOVERABLE /* смотри описание */ // автономная
#define ENOTSOCK /* смотри описание */ // автономная
#define ENOTSUP /* смотри описание */ // автономная
#define ENOTTY /* смотри описание */ // автономная
#define ENXIO /* смотри описание */ // автономная
#define EOPNOTSUPP /* смотри описание */ // автономная
#define EOVERFLOW /* смотри описание */ // автономная
#define EOWNERDEAD /* смотри описание */ // автономная
#define EPERM /* смотри описание */ // автономная
#define EPIPE /* смотри описание */ // автономная
#define EPROTO /* смотри описание */ // автономная
#define EPROTONOSUPPORT /* смотри описание */ // автономная
#define EPROTOTYPE /* смотри описание */ // автономная
#define ERANGE /* смотри описание */ // автономная
#define EROFS /* смотри описание */ // автономная
#define ESPIPE /* смотри описание */ // автономная
#define ESRCH /* смотри описание */ // автономная
#define ETIMEDOUT /* смотри описание */ // автономная
#define ETXTBSY /* смотри описание */ // автономная
#define EWOULDBLOCK /* смотри описание */ // автономная
#define EXDEV /* смотри описание */ // автономная
Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 288 | C++98 | макрос EILSEQ не был определён в <cerrno>
|
определён |