What does this snippet print ?
def my_function(): try: return 1/0 except Exception: return "Exception" finally: return "Finally" print my_function()
$ python snippet.py finally
This black magic is explainedin the documentation:
When return passes control out of a try statement with a finally clause, that finally clause is executed before really leaving the function.
You can know ask this uncomfortable questions to your favorite python developer :)