我已经阅读了很多关于调试try,exception,finally
的消息来源。我确实理解当我们尝试一些代码时,可能会有一些异常。但是我不明白为什么有时候当我们已经有异常时我们终于使用了?
答案 0 :(得分:2)
正如documentation中所示,finally
子句对于释放外部资源很有用,无论使用是否成功。这些外部资源可以是文件或网络连接,需要在所有情况下进行清理。
例如:
try:
f = open("testfile", "w")
try:
f.write("This may not work!")
finally:
f.close()
except IOError:
print("Error! Can't find file")
语句f.close()
将始终执行,因此即使写操作引发异常,文件也将始终关闭。