Pattern: Lost exception
Issue: -
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.
Example of incorrect code:
def do_stuff():
try:
result = 1/0
finally:
break
Example of correct code:
def do_stuff():
try:
result = 1/0
finally:
print "done"