Главная  |  О продукте  |  Пользователям  |  Community

Поиск

 

Обработка ошибок

При публикации документа могут возникать два вида ошибок:

• Синтаксические ошибки – возникают при неправильном использовании операторов 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-скрипта, сгенерировавшее ошибку.