为什么有时最终用于调试?

时间:2013-06-23 17:08:01

标签: python debugging exception finally

我已经阅读了很多关于调试try,exception,finally的消息来源。我确实理解当我们尝试一些代码时,可能会有一些异常。但是我不明白为什么有时候当我们已经有异常时我们终于使用了?

1 个答案:

答案 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()将始终执行,因此即使写操作引发异常,文件也将始终关闭。