5. try语句嵌套
try嵌套是指一个try语句嵌套在另外一个try语句内部使用。
示例
# try语句嵌套示例
def write_nx_to_files():
'''向文件写入n个x'''
try:
file = open('test.txt', 'w') # OSError
try:
number = int(input('请输入写入x的个数:')) # ValueError
file.write('x' * number)
finally:
file.close()
print('文件已经关闭')
except OSError:
print('放弃存储!')
except ValueError:
print('输入数字有错,放弃存储!')
write_nx_to_files()
try嵌套时异常状态传递
先在内部 try 语句中的 except 子句中处理,如果内部 try 语句没有 except 子句或 except 子句没有对应的类型来捕获此异常,则此异常将传递到外层的try语句再进行处理,直接将异常状态传递到最外层的 try 语句为止。