You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
1.3 KiB
94 lines
1.3 KiB
# test try-else-finally statement
|
|
|
|
# base case
|
|
try:
|
|
print(1)
|
|
except:
|
|
print(2)
|
|
else:
|
|
print(3)
|
|
finally:
|
|
print(4)
|
|
|
|
# basic case that should skip else
|
|
try:
|
|
print(1)
|
|
raise Exception
|
|
except:
|
|
print(2)
|
|
else:
|
|
print(3)
|
|
finally:
|
|
print(4)
|
|
|
|
# uncaught exception should skip else
|
|
try:
|
|
try:
|
|
print(1)
|
|
raise ValueError
|
|
except TypeError:
|
|
print(2)
|
|
else:
|
|
print(3)
|
|
finally:
|
|
print(4)
|
|
except:
|
|
print('caught')
|
|
|
|
# nested within outer try
|
|
try:
|
|
print(1)
|
|
try:
|
|
print(2)
|
|
raise Exception
|
|
except:
|
|
print(3)
|
|
else:
|
|
print(4)
|
|
finally:
|
|
print(5)
|
|
except:
|
|
print(6)
|
|
else:
|
|
print(7)
|
|
finally:
|
|
print(8)
|
|
|
|
# nested within outer except, one else should be skipped
|
|
try:
|
|
print(1)
|
|
raise Exception
|
|
except:
|
|
print(2)
|
|
try:
|
|
print(3)
|
|
except:
|
|
print(4)
|
|
else:
|
|
print(5)
|
|
finally:
|
|
print(6)
|
|
else:
|
|
print(7)
|
|
finally:
|
|
print(8)
|
|
|
|
# nested within outer except, both else should be skipped
|
|
try:
|
|
print(1)
|
|
raise Exception
|
|
except:
|
|
print(2)
|
|
try:
|
|
print(3)
|
|
raise Exception
|
|
except:
|
|
print(4)
|
|
else:
|
|
print(5)
|
|
finally:
|
|
print(6)
|
|
else:
|
|
print(7)
|
|
finally:
|
|
print(8)
|
|
|