Ruff error-instead-of-exception (TRY400)

error-instead-of-exception в Ruff проверяет код на предупреждение TRY400. Правило относится к группе tryceratops.

Почему это неправильно

Правила tryceratops помогают писать обработку исключений так, чтобы ошибки не скрывались и трассировки оставались полезными.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила error-instead-of-exception и пример ниже.

Пример ошибки

import logging


def func():
    try:
        raise NotImplementedError
    except NotImplementedError:
        logging.error("Exception occurred")

Как правильно

import logging


def func():
    try:
        raise NotImplementedError
    except NotImplementedError:
        logging.exception("Exception occurred")

Автоисправление

Ruff может предложить автоисправление в некоторых случаях.