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