Лекция: Сообщения об ошибках на шаге выполнения
Сообщения об ошибках на шаге выполнения имеют следующий формат:
Run-time error < номер > at < сегмент >:< смещенне >,
где < номер > – номер ошибки,
< сегмент >:< смещение > – адрес, по которому произошла ошибка.
Ошибки шага выполнения делятся на четыре группы:
ошибки операционной системы MS DOS: 1-99,
ошибки ввода-вывода: 100–149,
серьезные ошибки: 150–199,
грубые ошибки: 200–255.
Таблица 37. Ошибки операционной системы DOS
Код ошибки | Сообщение | Причина появления ошибки |
Invalid function number | «неверный номер функции» — Предпринята попытка вызова несуществующей функции dos. | |
File not found | файл не найден | |
Path not fond | путь не найден | |
Too many open files | «слишком много открытых файлов» — Операционная система MS DOS позволяет открывать не более 15 файлов | |
File access denied | «запрещен доступ к файлу» — Вероятно, предпринята попытка записи в файл, предназначенный только для считывания. | |
Invalid file handle | «неправильный обработчик файла» — Данное сообщение выдастся в том случае, если при вызове MS DOS передается неправильный спецификатор файла. Вероятно, искажена файловая переменная | |
Invalid file access code | «неправильный код доступа к файлу» — Задано недопустимое значение переменной FileMode | |
Invalid drive number | неправильный номер диска | |
Cannot remove current directory | нельзя удалять текущую директорию | |
Cannot rename across drives | при переименовании файла нельзя указывать другое устройство |
Таблица 38. Ошибки ввода-вывода
Ошибки, относящиеся к данной группе, вызывают завершение программы, если она откомпилирована в режиме {$I+}. В режиме {$I-} программа продолжает выполняться, а код ошибки возвращается функцией IOResult.
Код ошибки | Сообщение | Причина появления ошибки |
Disk read error | «ошибка чтения с диска» — Предпринята попытка чтения после конца файла | |
Disk write error | «ошибка записи на диск» — Диск целиком заполнен | |
File not assigned | «файл не назначен» — Файловой переменной не назначен файл с помощью процедуры Assign | |
File not open | файл не открыт | |
File not open for input | файл не открыт для ввода | |
File not open for output | файл не открыт для вывода | |
Invalid numeric format | «неправильный числовой формат» — Числовое значение, считанное из текстового файла, имеет неправильный формат |
Таблица 39. Серьезные ошибки
Код ошибки | Сообщение | Причина появления ошибки |
Disk is write-protected | диск защищен от записи | |
Unknown unit | неизвестное устройство | |
Drive not ready | дисковод не готов к работе | |
Unknown command | неизвестная команда | |
CRC error in data | ошибка в данных на диске | |
Disk seek error | ошибка поиска на диске | |
Unknown media type | неизвестный тип носителя | |
Sector not found | сектор не найден | |
Printer out of paper | в принтере нет бумаги | |
Device write fault | ошибка при записи на устройство | |
Device read fault | ошибка устройства при чтении | |
Hardware failure | отказ аппаратных средств |
Таблица 40. Грубые ошибки
Возникновение этих ошибок всегда приводит к немедленной остановке программы.
Код ошибки | Сообщение | Причина появления ошибки |
Division by zero | деление на нуль | |
Range check error | «выход за допустимые границы» — Вычисленное или присвоенное значение не укладывается в допустимый диапазон | |
Stack overflow error | переполнение стека | |
Heap overflow error | переполнение области динамической памяти | |
Invalid pointer operation | «неправильная операция с указателем» — Используемая ссылочная переменная содержит nil или адрес за пределами динамической памяти. | |
Floating point overflow | переполнение в операции с плавающей точкой | |
Floating point underflow | потеря порядка в операции с плавающей точкой | |
Invalid floating point operation | неправильная операция с плавающей точкой | |
Overlay manager not installed | «монитор оверлеев не инициирован» — Вероятно, не была вызвана процедура Ovrlnit или при ее вызове произошла ошибка | |
Overlay file read error | ошибка при чтении оверлейного файла | |
Object not initialized | объект не инициализирован | |
Сall to abstract method | «обращение к абстрактному методу» — Предпринята попытка создания экземпляра объекта абстрактного типа, содержащего один или несколько абстрактных методов. Однако абстрактные типы существуют только для того, чтобы можно было наследовать от них и перекрывать абстрактные методы | |
212–214 | Эти сообщения связаны с ошибками, возникающими при работе с пакетом Turbo Vision. |