Обработка ошибок
При публикации документа могут возникать два вида ошибок:
• Синтаксические ошибки – возникают при неправильном использовании операторов DJEM-скрипта. В случае возникновения такой ошибки DJEM-скрипт процессор выдаёт следующее сообщение:
Error: [10/5] parse error, где первые два числа – это номер строки и позиция в строке, в которой была обнаружена ошибка.
Пример:
В данном примере присутствует синтаксическая ошибка – открывающий тег “<if>” не имеет парного закрывающего тэга “</if>”:
<if 10 gt 22>
10 больше 22 ?
<if>
При выполнении данного DJEM-скрипта будет получено сообщение об ошибке
Error: [3/6] parse error
• Ошибки времени выполнения – возникают, когда DJEM-скрипт процессор не может выполнить по какой-то причине сценарий DJEM-скрипта. Например, если во время выполнения происходит обращение к несуществующему документу, деление на 0 в арифметических вычислениях, ошибках, связанных с базой данный и т.д.
Пример:
В данном примере пытаемся получить имя документа с номером -1, но так как номера документов в системе всегда больше нуля, это приводит к ошибке времени выполнения:
<[-1]._name>
Результат:
Error: [1/12] Document::loadById(): document -1 not found
DJEM-скрипт процессор сообщает, что документ с номером -1 не найден в системе. Числа в квадратных скобках (строка, позиция) указывают на выражение DJEM-скрипта, сгенерировавшее ошибку.
|