Перейти к основному содержимому

О пространстве имен exceptions

Пространство имен exceptions может использоваться для вызова предупреждений и ошибок в пользовательской среде dbt.

raise_compiler_error

Метод exceptions.raise_compiler_error вызывает ошибку компилятора с предоставленным сообщением. Это обычно полезно только в макросах или материализациях, когда вызывающая модель предоставляет недопустимые аргументы. Обратите внимание, что выброс исключения приведет к сбою модели, поэтому используйте эту переменную с осторожностью!

Пример использования:

exceptions.sql
{% if number < 0 or number > 100 %}
{{ exceptions.raise_compiler_error("Invalid `number`. Got: " ~ number) }}
{% endif %}

warn

Используйте метод exceptions.warn, чтобы сгенерировать предупреждение компилятора с указанным сообщением. При этом любая модель всё равно будет выполнена успешно и будет считаться со статусом PASS. По умолчанию предупреждения не приводят к падению запусков dbt. Однако:

  • Если вы используете флаг --warn-error, все предупреждения будут повышены до ошибок.
  • Чтобы повышать до ошибок только Jinja‑предупреждения (и оставить остальные предупреждения без изменений), используйте --warn-error-options. Например, --warn-error-options '{"error": ["JinjaLogWarning"]}'.

Подробнее см. в разделе Warnings.

Пример использования:

warn.sql
{% if number < 0 or number > 100 %}
{% do exceptions.warn("Invalid `number`. Got: " ~ number) %}
{% endif %}

Нашли ошибку?

0
Loading