PY3.W0150

Lost exception

Used when a break or a return statement is found inside the finally clause of a try... finally block the exceptions raised in the try clause will be silently swallowed instead of being re-raised.

Noncompliant Code:

Copy
def foo(value):
    try:
        return 2 / value
    except ZeroDivisionError:
        print('Connot divide zero.')
    finally:
        return 0

Compliant Code:

Copy
def foo(value):
    try:
        return 2 / value
    except ZeroDivisionError:
        print('Connot divide zero.')

    return 0

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.