2

我已经阅读了很多关于调试的资料try,exception,finally。我明白当我们尝试一些代码时可能会有一些例外。但我不明白为什么有时我们已经有异常时使用 finally ?

4

1 回答 1

2

正如文档中所指出的,该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()将始终执行,因此即使写入操作引发异常,文件也将始终在最后关闭。

于 2013-06-23T17:13:34.697 回答