12.11.3. Сводка номеров ошибок ввода-вывода

Все ошибки, которые могут быть проанализированы функцией IOResult, подразделяются на три группы: ошибки, диагностируемые

- 267 -

MS-DOS (их номера не превышают 99), затем файловой системой Турбо Паскаля (номера от 100 до 159), и критические ошибки, диагностируемые аппаратно. Сводка всех номеров ошибок, относящихся к работе с файлами приводится в табл. 12.6.

Таблица 12.6

Описание ошибок

I. ОШИБКИ УРОВНЯ DOS

2

File not found (файл не найден)

ИСТОЧНИК: Reset, Append, Rename, Erase. Физический файл, связанный с файловой переменной, не найден или не существует.

3

Path not found (каталог/маршрут/ не найден)

ИСТОЧНИК: Reset, Rewrite, Append, Rename, Erase. Имя файла на диске, связанное с файловой переменной, является неправильным или указывает на несуществующий подкаталог.

ИСТОЧНИК: ChDir, MkDir, RmDir. Заданный маршрут является недействительным или содержит несуществующий подкаталог.

4

Too many open files (слишком много открытых файлов)

ИСТОЧНИК: Reset, Rewrite, Append, Rename, Erase. Программа имеет слишком много открытых файлов. Увеличьте число в параметре FILES= файла CONFIG.SYS и перезагрузите систему.

5

File access denied (отказано в доступе к файлу)

ИСТОЧНИК: Reset, Append, Rewrite. Открытие файла допускает запись (согласно значение переменной FileMode), но физический файл является каталогом или файлом, доступным только для чтения, а в случае Rewrite — эта ошибка возникает еще, когда в каталоге нет свободного места.

ИСТОЧНИК: Rename. Имя физического файла совпадает с именем каталога, или новое имя указывает уже существующий файл.

ИСТОЧНИК: Erase. Попытка стереть каталог или файл, доступный только для чтения.

ИСТОЧНИК: MkDir. Имя уже использовано в этом каталоге, или в каталоге нет места, или имя есть имя устройства DOS.

ИСТОЧНИК: RmDir. Заданное имя определяет непустой либо несуществующий каталог, или оно задает корневой каталог.

ИСТОЧНИК: Read/Write и BlockRead/BlockWrite. Попытка считывать (записывать) данные в еще не открытый файл.

- 268 -

6

Invalid file handle (недопустимый файловый канал) Эта ошибка появляется только при нарушении внутренней работы файловой системы, и ее возникновение является свидетельством того, что файловая переменная испорчена каким-либо образом.

12

Invalid file access code (неверный код доступа к файлам)

ИСТОЧНИК: Reset, Append. Значение переменной FileMode в момент открытия файла было несоответствующим команде открытия.

15

Invalid drive number (неверный номер дисковода)

ИСТОЧНИК: GetDir. Заданный номер диска при текущей конфигурации ПЭВМ не имеет смысла.

16

Cannot remove current directory (нельзя удалить текущий каталог).

ИСТОЧНИК: RmDir. Справедливое замечание на попытку срубить под собой сук

17

Cannot rename across drives (нельзя при переименовании указывать разные дисководы)

ИСТОЧНИК: Rename.

II. ОШИБКА УРОВНЯ ФАЙЛОВОЙ СИСТЕМЫ

100

Disk read error (ошибка чтения с диска)

ИСТОЧНИК: Read. Возникает в типизированном файле при попытке осуществить считывание после конца файла.

101

Disk write error (ошибка записи на диск)

ИСТОЧНИК: Close, Flush, Write/WriteLn, BlockWrite. Диск заполнен до отказа.

102

File not assigned (файл не связан)

ИСТОЧНИК: Reset, Rewrite, Append, Rename, Erase. С переменной логического файла (файловой переменной) не было связано имя физического файла через вызов процедуры Assign.

103

File not open (файл не открыт)

ИСТОЧНИК: Close, Flush, Read/Write, Seek, EOF, FilePos, FileSize, BlockRead/BlockWrite. Попытка операции ввода-вывода с еще не открытым файлом.

104

File not open for input (файл не открыт для ввода)

ИСТОЧНИК: Read, ReadLn, EOF, EOLn, SeekEOF, SeekEOLn. Попытка прочитать информацию из текстового файла, не открытого для чтения.

- 269 -

105

File not open for output (файл не открыт для вывода)

ИСТОЧНИК: Write, WriteLn. Попытка записать информацию в текстовый файл, не открытый для записи.

106

Invalid numeric format (неверный числовой формат)

ИСТОЧНИК: Read, ReadLn. Числовое значение, считанное из текстового файла, не соответствует числовому формату соответствующего типа данных.

III. КРИТИЧЕСКИЕ ОШИБКИ

150

Disk is write-protected (диск защищен от записи)

151

Unknown unit (неизвестный аппаратный модуль)

152

Drive not ready (дисковод не готов )

153

Unknown comnand (неопознанная команда)

154

CRC error in data (ошибка контроля данных в ОС)

155

Bad drive request structure length (при запросе к диску указана неверная длина структуры)

156

Disk seek error (ошибка при операции позиционирования головок на диске)

157

Unknown media type (неизвестный тип носителя)

158

Sector not found (сектор на диске не найден)

159

Printer out of paper (кончилась бумага на принтере)

160

Device write fault (ошибка при записи на устройство)

161

Device read fault (ошибка при чтении с устройства)

162

Hardware failure (сбой аппаратуры)

- 270 -