Ruff type-check-without-type-error (TRY004)

type-check-without-type-error в Ruff проверяет код на предупреждение TRY004. Правило относится к группе tryceratops.

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

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

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

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

def foo(n: int):
    if isinstance(n, int):
        pass
    else:
        raise ValueError("n must be an integer")

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

def foo(n: int):
    if isinstance(n, int):
        pass
    else:
        raise TypeError("n must be an integer")

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

Ruff не предлагает автоисправление для этого правила.