# Indirectly makes sure the cleanup happens correctly on breaking.
def try_except_break():
"""
>>> print(try_except_break())
a
"""
for x in list("abc"):
try:
x()
except:
break
return x
def try_break_except():
"""
>>> print(try_break_except())
a
"""
for x in list("abc"):
try:
break
except:
pass
return x
def try_no_break_except_return():
"""
>>> print(try_no_break_except_return())
a
"""
for x in list("abc"):
try:
x()
break
except:
return x
return x