В ходе своей работы программист неизбежно сталкивается с ошибками (см. разд. 1.4). Обнаружение ошибок компиляции сопровождается выдачей краткого комментария, позволяющего сравнительно быстро понять причину и исправить синтаксическую ошибку. В отличие от них, ошибочные операции в процессе выполнения программы обычно вызывают сообщение, содержащее числовой код ошибки и адрес ячейки памяти. Для того чтобы облегчить работу с ошибками выполнения, программисту необходимо знать описания их кодов (табл. 1.1).
Таблица 1.1. Коды ошибок выполнения
| Код | Описание |
| 1 | Обращение к несуществующей функции MS-DOS |
| 2 | Указанный файл не найден при обращении к нему процедур Reset, Append, Rename, Erase |
| 3 | Указанный путь не найден при попытке его использования процедурами Reset, Rewrite, Append, Rename, Erase, ChDir, MkDir, RmDir |
| 4 | Число открытых файлов превысило значение, заданное переменной FILES в стартовом файле Config.sys. Источник сообщения: процедуры Reset, Rewrite, Append |
| 5 | Доступ к файлу запрещен. Причина ошибки может заключаться в попытке открыть файл, имеющий атрибут Read Only ("только для чтения"), как для записи, так и для чтения. Источник ошибки: процедуры Reset, Append, Rewrite, Rename, Erase, MkDir, RmDir, Read, BlockRead, Write, BlockWrite |
| 6 | Ошибка обработки файла |
| 12 | Неправильный код доступа к файлу. Возникает, если в процедурах Reset или Append при работе с типизированными и нетипизированными файлами значение параметра FileMode задано неправильно |
| 15 | Неправильный номер устройства в процедуре GetDir |
| 16 | Нельзя удалить текущий каталог. Процедура RmDir не может удалить теку¬щий каталог |
| 17 | При обращении к процедуре Rename сделана попытка присвоить имя, отве¬чающее файлу на другом устройстве |
| 18 | При обращении к FindFirst или FindNext оказалось, что соответствующих файлов нет |
| 100 | Попытка чтения из типизированного файла после того, как достигнут при¬знак конца файла |
| 101 | Ошибка записи на диск (на диске не хватает места) |
| 102 | Файл не ассоциирован с файловой переменной |
| 103 | Файл не был открыт при обращении к нему процедур BlockRead, BlockWrite, Eof, Close, FilePos, FileSize, Flush, Read, Write, Seek |
| 104 | Файл не был открыт для чтения при обращении к нему процедур Eof, EoLn, Read, ReadLn, SeekEof, SeekEoln |
| 105 | Файл не был открыт для записи при обращении к нему процедур Write И WriteLn |
| 106 | Неправильный числовой формат (при вводе встретился недопустимый в записи числа символ) |
| 150 | Диск защищен от записи |
| 151 | Ошибка драйвера устройства |
| 152 | Устройство не готово |
| 154 | Ошибка контроля четности данных |
| 156 | Ошибка поиска данных на диске |
| 157 | Неизвестный тип носителя информации |
| 158 | Не найден сектор |
| 159 | В принтере нет бумаги |
| 160 | Ошибка записи на устройство |
| 161 | Ошибка чтения с устройства |
| 162 | Сбой оборудования |
| 200 | Деление на ноль (некорректная арифметическая операция) |
| 201 | Нарушение диапазона допустимых значений переменной или индекса мас¬сива |
| 202 | Переполнение стека |
| 203 | Переполнение динамически распределяемой области памяти |
| 204 | Неправильная операция с указателем |
| 205 | Переполнение при выполнении операции с плавающей точкой |
| 206 | Исчезновение порядка при выполнении операции с плавающей точкой |
| 207 | Ошибка при выполнении операции с плавающей точкой. Возникает при по¬пытке вычислить значение функций sqrt(x) или 1п(х) из отрицательного значения, в случае когда преобразование вещественного значения в целое не попадает в допустимый интервал значений для типа longint и т. д. |
| 210 | Объект не инициализирован. Возникает при обращении к виртуальному методу до инициализации объекта конструктора |
| 215 | Арифметическое переполнение |
| 216 | Ошибка доступа к памяти |
 предыдущая
       
 меню
       
вверх
       
 следующая