try .. finally


try..finallyは例外発生の有無にかかわらず、最後に必ず実行させたい処理(後始末)を行うときに使います。例えば、ファイルの読み込み中に例外が起こったかどうかに関わらず、最後にファイルを閉じる必要がありますが、そのようなときにこのtry..finallyを使います。

次にサンプルを示します。

# finally test
f = open('c:/temp/text1.txt')
try :
    print "file opened."
    while 1 :
        s = f.readline()
        if s == '' :
            break
        print s
        y = s / 10
finally :
    f.close()
    print "file closed."
print "end." 

このサンプルの実行結果は次のようになります。

file opened.
aaaa

file closed.
Traceback (most recent call last):
  File "E:\Develop\python\excep\excep6.py", line 10, in ?
    y = s / 10
TypeError: bad operand type(s) for /