finally
Coddy Python 异常处理 课程的第 5 课,共 16 课。
还有一个可选的代码块,叫作 finally。
无论什么情况都会执行这个代码块。无论 try 语句是否产生异常,这个代码块都会运行。
try:
f = open("data.txt",encoding='utf-8')
except FileNotFoundError:
print("File does not exist")
else:
print(f.read())
finally:
print("cleanup activities like closing file") 在上面的示例中,如果 data.txt 不存在,就会引发异常,并执行 except 代码块。
如果文件存在,由于没有异常,程序会进入 else 代码块,解释器会读取数据。
这两种情况下都会执行 finally 代码块,用于执行清理工作、必需的代码和系统操作,以及释放内存等。
挑战
简单编写一个函数,将新的键值对添加到给定的字典中。当用户输入可变键(即列表)时,处理 TypeError,并打印 "Cannot give mutable keys"。如果键值对添加成功,则打印新键对应的值。最后,在操作完成后打印字典。
亲手试试
data = {
'John' : 89,
'Mike' : 91,
'Angela':85,
}
def insert_data(key,value):
#向 data 中添加键值对
#如果键是列表等可变类型,处理 TypeError
#操作完成后打印更新后的字典
Python 异常处理中的所有课
自己练习: Python 在线编译器