Ruff raise-vanilla-args (TRY003)
raise-vanilla-args в Ruff проверяет код на предупреждение TRY003. Правило относится к группе tryceratops.
Почему это неправильно
Правила tryceratops помогают писать обработку исключений так, чтобы ошибки не скрывались и трассировки оставались полезными.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила raise-vanilla-args и пример ниже.
Пример ошибки
class CantBeNegative(Exception):
pass
def foo(x):
if x < 0:
raise CantBeNegative(f"{x} is negative")
Как правильно
class CantBeNegative(Exception):
def __init__(self, number):
super().__init__(f"{number} is negative")
def foo(x):
if x < 0:
raise CantBeNegative(x)
Автоисправление
Ruff не предлагает автоисправление для этого правила.
