Ruff return-in-try-except-finally (SIM107)
return-in-try-except-finally в Ruff проверяет код на предупреждение SIM107. Правило относится к группе flake8-simplify.
Почему это неправильно
Упрощённая запись обычно легче читается и снижает риск ошибки в условии или преобразовании.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила return-in-try-except-finally и пример ниже.
Пример ошибки
def squared(n):
try:
sqr = n**2
return sqr
except Exception:
return "An exception occurred"
finally:
return -1 # Always returns -1.
Как правильно
def squared(n):
try:
return_value = n**2
except Exception:
return_value = "An exception occurred"
finally:
return_value = -1
return return_value
Автоисправление
Ruff не предлагает автоисправление для этого правила.
