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 -