40
Ошибки времени выполнения
Такие ошибки возникают после того, как программа была
успешно откомпилирована и выполняется.
Abnormal program termination — неправильное завершение
программы, сообщение может выдаваться, если для выполнения
программы недостаточно памяти. Как правило, возникает при
некорректной работе с динамическими данными. Например, в
программе не выделена память под массив или матрицу.
Divide error — ошибка деления. Это сообщение выдается
при делении целого числа на 0.
Следующие фатальные ошибки выдаются для операций с
плавающей точкой, для которых не определен результат.
Floating point error: Divide by 0 — означает, что при деле-
нии получен результат плюс бесконечность или минус беско-
нечность, как для 1.0/0.0.
Floating point error: Domain — означает, что при вычисле-
нии получен результат NAN (не число), как для 0.0/0.0.
Floating point error: Overflow — означает, что при вычисле-
нии получен результат — плюс бесконечность или минус беско-
нечность с полной потерей точности, как при присваивании
1Е20 * 1Е20 в тип double.
Floating point error: Partial loss of precision — частичная по-
теря точности. Ошибка по умолчанию замаскирована и сообще-
ния об ошибке не появляется. Частичная потеря точности игно-
рируется.
Floating point error: Underflow — нехватка точности. Ошиб-
ка по умолчанию замаскирована и сообщения об ошибке не по-
является. Результат преобразуется в 0.
Floating point error: Stack fault — ошибка стека. Это сооб-
щение указывает, что стек плавающей точки был перекрыт.
Обычно эта ошибка не встречается и может возникать из-за то-
го, что ассемблерный код использует слишком много регистров
или переобъявление функции с плавающей точкой.
Null pointer assigment — присваивание неинициализирован-
ному указателю. Может возникнуть при неверном освобожде-
нии памяти. В остальном программа может казаться правильно
работающей; однако это серьезная ошибка, которая должна