私はApress, Beginning Python from Novice to Professional
の本をフォローしています。それは:Try-Except-Finallyステートメントの古い本の説明
最後に言及されています。 例外が発生しているかどうかにかかわらず、 コード(たとえば、クリーンアップコード)が実行されていることを確認する必要がある場合は、try/finallyを使用できます。このコードは、最後に 節に入れられます。同じtryステートメントにexcept節とfinally節の両方を指定することはできませんが、一方をもう一方のtry節に入れることができます。
私はこのコードを試みた:
def someFunction():
a = None
try:
a = 1/0
except ZeroDivisionError, e:
print 'Yesss'
print e
finally:
print 'Cleanup'
del a
if __name__ == '__main__':
someFunction()
を...出力はここ
Yesss
integer division or modulo by zero
Cleanup
で、私は、同じtry
セグメントにexcept
とfinally
をしていない使用しています?コードは正常に動作します。私は本が言うことをかなり得られない!
誰かが明らかにしてください。ありがとう。
受け入れられた答えは言うように、あなたの本は古くなっています。実際、それは5年以上古いです。過去5年間にPythonで変更された*たくさんの*があります。あなた自身に恩恵を与えて、最近の本を買う。 – Duncan
確かに行うでしょう:) – bdhar
あなたのすべての本を投げ捨て、[documentation](http://docs.python.org)から直接作業してください。特に、本/ドキュメントが適用されるPythonのバージョンに注意してください。 whatsnewリスト、特にメジャーな2.xまたは3.xのバージョンをすべてスキップしてください(2.xは2.7で安定していますが、これは歴史的です)。 – smci