Derived from the Pylint linter.
This rule is unstable and in preview. The
--preview flag is required for use.
What it does#
Checks for bare
raise statements outside of exception handlers.
Why is this bad?#
raise statement without an exception object will re-raise the last
exception that was active in the current scope, and is typically used
within an exception handler to re-raise the caught exception.
If a bare
raise is used outside of an exception handler, it will generate
an error due to the lack of an active exception.
Note that a bare
raise within a
finally block will work in some cases
(namely, when the exception is raised within the
try block), but should
be avoided as it can lead to confusing behavior.