Приложение E. Диагностические сообщения
137
Примечание: Ошибка 243 (неоконченный комментарий) появляется, только если
файл заканчивается незакрытым комментарием. Например:
...
queue:= queue^.next;
(* обработка следующего элемента
end { while };
end;
незакрытый комментарий.
=== Bottom of File ===
Если после незакрытого комментария встретится закрывающая комментарная
скобка в символьной строке (например, ' {X} ' или в другом закрытом комментарии с
комментарными скобками того же типа, эта ошибка не появляется. Например:
...
queue:= queue^.next;
{ обработка следующего элемента
end { while };
незакрытый комментарий,
end;
комментарий закрывается этой комментарной скобкой.
=== Bottom of File ===
Компилятор "не знает" где должен быть конец комментария. Вероятно
возникнут синтаксические ошибки другого типа, например, 252, 255 (как в
вышеуказанном примере) или появятся ошибки, связанные с недекларированными
идентификаторами. Но возможно и отсутствие каких либо ошибок (если окажется, что
в роли комментария выступили несколько операторов и этим не нарушается синтаксис
и семантика языка). Если ошибка выдана сразу после закрытого комментария и нет
никаких оснований для ее появления, проверьте нет ли где-то в направлении к началу
программы незакрытый комментарий.
E.2. Диагностические сообщения интерпретатора
Кроме обнаруженных в процессе компиляции ошибок, программа может
содержать ошибки, которые появляются только в процессе выполнения. При
выполнении никакой программы не должно появляться сообщение об ошибке с
номером, превосходящим 240. Но если произошло токое событие, обратитесь к НИПи
"Програмно осигуряване". Для повторения ситуации необходимо сохранить текст и
компилированный код программы, вызвавшей эту ошибку. Сначала Вам необходимо
убедиться, что при повторении ситуации (компиляция, выполнение) получается та же
самая ошибка и что Ваша программа не разрушает часть операционной системы или
себя, тогда дальнейшее поведение компьютера нельзя предсказать. Ошибки этого типа
самые трудные для обнаружения и отстранения. Попытайтесь включить проверку
границ {$R+} и/или поставьте тестовой печать в программе.
Следует перечень ошибок, выдаваемых интерпретатором в программе.
1:
Недостаточная свободная память для локальных переменных или для
обслуживания заявки на памят, происходящей из процедур NEW/GET-
MEMWORDS
3:
Нулевое значение знаменателя
4:
Переполнение строки символов
5:
Номер элемента множества вне интервала [0..255]
7:
Неправильное индексирование переменной типа строки
8:
Значение данного выражения меньше допустимой нижней границы.
Получается при включенной директиве {$R+}
<<  <  GO  >  >>

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