2013-12-30 02:34:42 +04:00
|
|
|
# nested try's
|
|
|
|
|
|
|
|
try:
|
|
|
|
print("try 1")
|
|
|
|
try:
|
|
|
|
print("try 2")
|
|
|
|
foo()
|
|
|
|
except:
|
|
|
|
print("except 2")
|
|
|
|
bar()
|
|
|
|
except:
|
|
|
|
print("except 1")
|
2014-01-30 15:49:18 +04:00
|
|
|
|
|
|
|
try:
|
|
|
|
print("try 1")
|
|
|
|
try:
|
|
|
|
print("try 2")
|
|
|
|
foo()
|
|
|
|
except TypeError:
|
|
|
|
print("except 2")
|
|
|
|
bar()
|
|
|
|
except NameError:
|
|
|
|
print("except 1")
|
2014-01-31 19:05:07 +04:00
|
|
|
|
2016-12-21 06:47:02 +03:00
|
|
|
# raised exception not contained in except tuple
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
raise Exception
|
|
|
|
except (RuntimeError, SyntaxError):
|
|
|
|
print('except 2')
|
|
|
|
except Exception:
|
|
|
|
print('except 1')
|
|
|
|
|
2014-01-31 19:05:07 +04:00
|
|
|
# Check that exceptions across function boundaries work as expected
|
|
|
|
def func1():
|
|
|
|
try:
|
|
|
|
print("try func1")
|
|
|
|
func2()
|
|
|
|
except NameError:
|
|
|
|
print("except func1")
|
|
|
|
|
|
|
|
def func2():
|
|
|
|
try:
|
|
|
|
print("try func2")
|
|
|
|
foo()
|
|
|
|
except TypeError:
|
|
|
|
print("except func2")
|
|
|
|
|
|
|
|
func1()
|