pylint-errors

W0150 (lost-exception)

:x: Problematic code:

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

:heavy_check_mark: Correct code:

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

Rationale:

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