Ruff raise-vanilla-class (TRY002)
raise-vanilla-class в Ruff проверяет код на предупреждение TRY002. Правило относится к группе tryceratops.
Почему это неправильно
Правила tryceratops помогают писать обработку исключений так, чтобы ошибки не скрывались и трассировки оставались полезными.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила raise-vanilla-class и пример ниже.
Пример ошибки
def main_function():
if not cond:
raise Exception()
def consumer_func():
try:
do_step()
prepare()
main_function()
except Exception:
logger.error("Oops")
Как правильно
def main_function():
if not cond:
raise CustomException()
def consumer_func():
try:
do_step()
prepare()
main_function()
except CustomException:
logger.error("Main function failed")
except Exception:
logger.error("Oops")
Автоисправление
Ruff не предлагает автоисправление для этого правила.
