可以用try...except...else来处理异常状况。
抛出异常
raise语句
Try...Finally 释放资源
with语句
with open("poem.txt") as f:
for line in f:
print(line, end='')
关闭文件的操作由with open来自动完成。
幕后发生的事情:
有一项with语句所使用的的协议(Protocol),它会获取由open语句返回的对象,在本案例中就是“thefile”。
它总是在代码块开始之前调用 thefile.__enter__函数,并且总会在代码块执行完毕之后调用 thefile.__exit__。