我阅读了很多有关调试 try,exception,finally
的资料。我确实理解当我们尝试一些代码时可能会出现一些异常。但我不明白为什么有时我们已经有异常时还要使用finally?
最佳答案
正如 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()
将始终被执行,因此即使写操作引发异常,文件也始终会在最后关闭。
关于python - 为什么有时用finally来调试呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263182/