14.8.2. Сводка номеров фатальных ошибок
Фатальные ошибки (табл. 14.2) всегда приводят к немедленной установке программы.
Таблица 14.2
ОПИСАНИЕ ОШИБОК
200
Division by zero (деление на ноль)
ИСТОЧНИК: /, mod, div
201
Range check error (ошибка в границах/диапазонах)
ИСТОЧНИК: ошибка генерируется операторами, скомпилированными в состоянии {$R+} , при возникновении одной из следующих ситуаций: -индекс элемента массива вышел из описанного диапазона; -была осуществлена попытка присвоить переменной значение, находящееся вне диапазона значений типа переменной; -была попытка передать значение, находящееся вне допустимого диапазона, в качестве параметра процедуре или функции
- 312 -
202
Stack overflow error (переполнение стека)
ИСТОЧНИК: вызов процедуры или функции, откомпилированной в режиме $S+, в случае, если нет достаточной области для размещения их локальных переменных. Надо увеличить размер стека, используя директиву компилятора $М
203
Heap overflow error (переполнение кучи)
ИСТОЧНИК: процедуры New или GetMem в случае, если нет достаточно свободного места в динамической области памяти, чтобы выделить память для блока требуемого размера
204
Invalid pointer operation (неверная операция со ссылкой)
ИСТОЧНИК: процедуры Dispose или FreeMem в случае, если их аргумент имеет значение nil или указывает на адрес, лежащий за пределами динамически распределяемой области, или если список свободных блоков переполнен
205
Floating point overflow (переполнение при операции с плавающей точкой)
ИСТОЧНИК: операция с плавающей точкой
206
Floating point underflow (исчезновение порядка при операции с плавающей точкой)
ИСТОЧНИК: операция с плавающей точкой. Эта ошибка генерируется только в случае, если используется математический сопроцессор 8087 с управляющим словом, которое демаскирует ошибки, возникающие при исчезновении порядка. По умолчанию исчезновение порядка приводит к возвращению результата, равного нулю
207
Invalid floating point operation (недопустимая операция с плавающей запятой)
ИСТОЧНИК: функции Trunc или Round, если их аргумент не может быть преобразован в целое число, находящееся в диапазоне значений типа LongInt (от -2147483648 до 2147483647).
ИСТОЧНИК: функции Sqrt, если ее аргумент — отрицательный, и Ln, если аргумент — неположительный.
ИСТОЧНИК: переполнение стека 8087. Надо упростить математическое выражение в программе или разбить его на части
- 313 -
208
Overlay manager not installed (не установлена подсистема управления оверлеями)
ИСТОЧНИК: вероятнее всего — отсутствие обращения к процедуре OvrInit или неудачное обращение к этой процедуре. Нужно помнить, что если в каком-либо из оверлейных модулей содержится код инициализации, то нужно создать дополнительный неоверлейный модуль, вызывающий процедуру OvrInit, и использовать этот модуль перед любым из оверлейных модулей
209
Overlay file read error (ошибка чтения оверлейного файла)
ИСТОЧНИК: когда подсистема управления оверлеями пыталась считать оверлей из оверлейного файла, произошла ошибка чтения
210
Object not initialized (объект не был инициализирован)
ИСТОЧНИК: попытка вызова виртуального метода объекта, который не был ранее инициализирован вызовом конструктора. Эта ошибка генерируется, если программа создана в режиме компиляции $R+
- 314 -