4. try-finally语句

作用

  1. 通常用try-finally语句来做引发异常时必须要的处理的事情。
  2. 无论异常是否发生,finally子句都会被执行。

语法

try:
    可能引发异常的语句
finally:
    最终语句

说明

示例

# try-finally语句示例

def write_nx_to_files():
    '''向文件写入n个x'''
    file = open('test.txt', 'w')
    try:
        number = int(input('请输入写入x的个数:'))
        file.write('x' * number)
    finally:
        file.close()
        print('文件已经关闭')


write_nx_to_files()

上述程序中,当 try 语句内引发异常时,finally 子句能够保证一定能关闭文件。但异常状态没有改变。错误信息依旧会向上传递给上层的 try-except 语句。如果没有 try-except 出来,则程序异常终止。

finally子句的特殊情况