Ruff raise-without-from-inside-except (B904)
raise-without-from-inside-except в Ruff проверяет код на предупреждение B904. Правило относится к группе flake8-bugbear.
Почему это неправильно
Такая конструкция часто указывает на скрытую ошибку, неожиданное поведение Python или слишком хрупкий код.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила raise-without-from-inside-except и пример ниже.
Пример ошибки
try:
...
except FileNotFoundError:
if ...:
raise RuntimeError("...")
else:
raise UserWarning("...")
Как правильно
try:
...
except FileNotFoundError as exc:
if ...:
raise RuntimeError("...") from None
else:
raise UserWarning("...") from exc
Автоисправление
Ruff не предлагает автоисправление для этого правила.
