dbt exceptions 简单说明二
以前对于dbt 提供的exceptions namespace 方法进行了说明,实际是dbt 对于exceptions 细化的还是比较明确的,以前没详细说明
当前包含的exceptions 信息
- exceptions_jinja.py
CONTEXT_EXPORTS = {
fn.__name__: fn
for fn in [
warn,
missing_config,
missing_materialization,
missing_relation,
raise_ambiguous_alias,
raise_ambiguous_catalog_match,
raise_cache_inconsistent,
raise_dataclass_not_dict,
raise_compiler_error,
raise_database_error,
raise_dep_not_found,
raise_dependency_error,
raise_duplicate_patch_name,
raise_duplicate_resource_name,
raise_invalid_property_yml_version,
raise_not_implemented,
relation_wrong_type,
raise_contract_error,
column_type_missing,
raise_fail_fast_error,
]
}
说明
实际上dbt 提供了比较完整的异常信息方法,与源码结合起来可以更好的使用异常
参考资料
core/dbt/context/exceptions_jinja.py
https://docs.getdbt.com/reference/dbt-jinja-functions/exceptions