cython
1# Indirectly makes sure the cleanup happens correctly on breaking.
2
3def try_except_break():
4"""
5>>> print(try_except_break())
6a
7"""
8for x in list("abc"):
9try:
10x()
11except:
12break
13return x
14
15def try_break_except():
16"""
17>>> print(try_break_except())
18a
19"""
20for x in list("abc"):
21try:
22break
23except:
24pass
25return x
26
27def try_no_break_except_return():
28"""
29>>> print(try_no_break_except_return())
30a
31"""
32for x in list("abc"):
33try:
34x()
35break
36except:
37return x
38return x
39