Четвертый Borland C++ и его окружение

       

Переменные errno, _doserrno, _sys_errlist, _sys_nerr (dos.h, errno.h)


Для печати сообщений об ошибке разрешает perror (для DOS,

Win16, Win32 и OS/2). Функция perror использует эти переменные

для вывода сообщений об ошибках.

Переменная Назначение

errno Указывает тип ошибки при математическом

или системном вызове. В других ситуациях

не содержит кода ошибки.

_doserrno Содержит фактический код ошибки операционной системы, когда вызов операционной системы дает ошибку.
_sys_errlist Массив строк сообщений. В качестве индекса

массива для поиска строки по номеру ошибки

можно использовать errno.

_sys_nerr Число строковых сообщений в _sys_nerr.

Мнемонические обозначения в _sys_errlist показаны в следующей таблице:

Мнемоника Описание

E2BIG Слишком длинный список аргументов.
EACCES В разрешении отказано.
EBADF Неверный номер файла.
ECHILD Нет дочернего процесса (Ч).
ECONTR Попытка удаления текущего каталога CurDir.
EDEADLOCK Нарушение блокировки (Ч).
EDOM Ошибка домена (*) или математического аргумента (Ч).
EEXIST Файл уже существует.
EFAULT Неизвестная ошибка.
EINTR Прерванный функциональный вызов (Ч).
EINVACC Недопустимый код доступа.
EINVAL Недопустимый аргумент.
EINVDAT Недопустимые данные.
EINDRV Недопустимая спецификация диска.
EINVENV Недопустимая операционная среда.
EINVFMP Недопустимый формат.
EINVFNC Недопустимый номер функции.
EINVMEM Недопустимый адрес блока памяти.
EIO Ошибка ввода-вывода (Ч).
EMFILE Открыто слишком много файлов.
EMATOOLONG Слишком длинное имя файла (Ч).
ENFILE Слишком много открытых файлов.
ENMFILE Файлов больше нет.
ENODEV Нет такого устройства.
ENOENT Нет такого файла или каталога.
ENOEXEC Ошибка формата выполняемого файла.
ENOMEM Не хватает памяти.
ENOPATH Маршрут не найден.
ENOSPC На устройстве не осталось места (Ч).
ENOTSAM Не то же устройство.
ENXIO Нет такого устройства или адреса (Ч).
EPERM Операция не разрешена (Ч).
EPIPE Нарушение конвейера (Ч).
ERANGE Результат вне диапазона (*) или слишком велик (Ч).
EORFS Файловая система доступна только по чтению (Ч).
ESPIPE Неразрешенная операция установки позиции (Ч).
EXDEV Перекрестная связь между устройствами.
EZER0 Ошибка 0.
<


(Ч) - только для 32-разрядных приложений.

(*) - только для 16-разрядных приложений.

Ниже перечислены мнемоники фактических кодов ошибок DOS, в

которые может устанавливаться _doserrno (это значение может не

отображаться через errno):

Мнемоника Код ошибки DOS
E2BIG Неверная операционная среда.
EACCES Доступ запрещен.
EACCES Неверный доступ.
EACCES Это текущий каталог.
EBADF Неверный описатель.
EFAULT Зарезервирован.
EINVAL Неверные данные.
EINVAL Неверная функция.
EMFILE Слишком много открытых файлов.
ENOENT Такого файла или каталога нет.
ENOEXEC Неверный формат.
ENOMEM Нет памяти.
ENOMEM Плохой блок.
EXDEV Неверный диск.
EXDEV Не то же устройство.

Содержание раздела