PythonExtra/tests/basics/try_finally_return5.py
Damien George 82c494a97e py/vm: Fix handling of unwind jump out of active finally.
Prior to this commit, when unwinding through an active finally the stack
was not being correctly popped/folded, which resulting in the VM crashing
for complicated unwinding of nested finallys.

This should be fixed with this commit, and more tests for return/break/
continue within a finally have been added to exercise this.
2019-10-04 23:01:29 +10:00

18 lines
388 B
Python

def foo(x):
for i in range(x):
try:
pass
finally:
try:
try:
print(x, i)
finally:
try:
1 / 0
finally:
return 42
finally:
print('return')
return 43
print(foo(4))