Ruff superfluous-else-raise (RET506)

superfluous-else-raise в Ruff проверяет код на предупреждение RET506. Правило относится к группе flake8-return.

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

Лишние или неоднозначные return усложняют чтение потока выполнения функции.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила superfluous-else-raise и пример ниже.

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

def foo(bar, baz):
    if bar == "Specific Error":
        raise Exception(bar)
    else:
        raise Exception(baz)

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

def foo(bar, baz):
    if bar == "Specific Error":
        raise Exception(bar)
    raise Exception(baz)

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

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