misplaced-bare-raise (PLE0704)#
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?#
A bare 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.
Example#
Use instead: