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 に答える