Подтвердить что ты не робот

Python try-finally

Почему исключение в foo whiz незаметно, но возникает исключение в bar?

def foo():
    try:
        raise Exception('foo')
    finally:
        return

def bar():
    try:
        raise Exception('bar')
    finally:
        pass

foo()
bar()
4b9b3361

Ответ 1

Из Документация по Python:

Если предложение finally возвращает другое исключение или выполняет оператор return или break, сохраненное исключение теряется.