PY3.W0707

Raise missing from

Python 3's exception chaining means it shows the traceback of the currentexception, but also the original exception. Not using raise from makes thetraceback inaccurate, because the message implies there is a bug in theexception-handling code itself, which is a separate situation than wrappingan exception.

Noncompliant Code:

Copy
try:
    1 / 0
except ZeroDivisionError as e:
    raise ValueError("Rectangle Area cannot be zero")

Compliant Code:

Copy
try:
    1 / 0
except ZeroDivisionError as e:
    raise ValueError("Rectangle Area cannot be zero") from e

The content on this page is adapted from the Pylint User Guide, Copyright ©2003-2022, Logilab, PyCQA and contributors. All rights reserved. https://pylint.pycqa.org/en/latest/index.html#, and is used under the Python Software Foundation License Version 2. Examples, recipes, and other code in the Pylint documentation are additionally licensed under the Zero Clause BSD License.