Приложение E. Диагностические сообщения
129
Приложение E. Диагностические сообщения
При использовании UniPascal-я возможно, что программа составлена с
ошибками. Ошибки можно обособить в следующие классы:
*
предупреждения в процессе компиляции;
*
ошибки, обнаруживаемые операционной системой, выполняющей
некоторое действие по заказу программы (например, попытка обращения
к несуществующему файлу);
*
ошибки, обнаруживаемые в процессе выполнения программы,
вызывающиеся другими причинами (например, недостаточный объем
памяти);
*
другие ошибки, обнаруживаемые в процессе выполнения программы;
*
ошибки, дефинированные стандартом ISO и необнаруживаемые системой
UniPascal;
*
алгоритмические ошибки.
Предупреждения выдаются только компилятором. В некоторых случаях они
являются предупреждением о возможной ошибке, а в других о существующих
ошибках, которые не оказывают влияние на процесс компиляции (например,
использование несуществующей директивы для управления работой компилятора).
Следует особо отметить, что язык программирования UniPascal, реализованный
описываемым компилятором, является расширением стандарта ISO Pascal-я и
некоторые ошибки, заданные стандартом, являются вполне приемлемыми
конструкциями. Такие ошибки могут появиться и если Вы попытаетесь использовать
программу другой реализацией языка Pascal. Например, не все реализации
поддерживают тип STRING.
Алгоритмические ошибки при никаких обстоятельствах нельзя обнаружить
автоматическим способoм. В этом случае программа выдает неправильный результат
(т.е. не так, как ожидалось) или вообще не останавливается и т.д.
E.1. Выдаваемые компилятором сообщения об ошибках
При обнаружении ошибки компилятор выводит номер и содержание строки, в
которой обнаружена ошибка, следующая строка с указателем ^ (стрелка вверх) на
точное место ошибки и строка с диагностическим сообщением. Если на дискете, где
записан компилятор, не обнаружен файл UNIPAS.ERR, выводится только номер ошибки
(без текста диагностического сообщения).
Ошибки, обнаруживаемые в процессе компиляции можно разделить на три
группы:
*
ошибки, которые не влияют на процесс компиляции - при обнаружении таких
ошибок компилятор выводит предупредительное сообщение и продолжает
свою работу, генерируя код и после места ошибки. Ошибки этой группы
имеют номера с 1 по 13;
*
нефатальные ошибки - генерация кода прекращается, но компиляция
продолжается в виде анализа исходного текста с целью обнаружения других
ошибок. Ошибки этой группы имеют номера с 14 по 239;
*
фатальные ошибки - после обнаружения такой ошибки компиляция
прекращается. Ошибки этой группы имеют номера с 240 по 255.
<<  <  GO  >  >>

Вернуться к началу сайта