Почему исключение в foo свистит незамеченным, но возникает исключение в bar?
foo
bar
def foo(): try: raise Exception('foo') finally: return def bar(): try: raise Exception('bar') finally: pass foo() bar()
Из документации Python :
Если предложение finally вызывает другое исключение или выполняет оператор return или break, сохраненное исключение теряется.