home changes contents help options

016:例外処理

pythonは言語として例外をサポートしています。よくあるのは、0で割り算した時とか、ファイルを読み書きしようとしたら無かったというような場合です。 構文には
try/except/else
try/finally
の二つがあります。
前者は例外が起きたときの処置を書きます。いろいろな例外が起きることが考えられる場合は、except句を複数書くことも出来ますが、当然どういう例外が起きるかを知っておく必要があります。後者は、どんな例外でも例外が起きた時点で終了して、finally句を実行します。finally句には何があっても実行しておかなければならない処理を書きます。例えば、書き込みファイルをクローズすることなどです。詳しくは pythonチュートリアル を見てください。

 >>> a=[1,2,3,4,0,6,7]
 >>> b=[1,2,3,4,5,6,7]
 >>> for i in range(7):
        try:
                print b[i]/a[i]
        except ZeroDivisionError:
                print 'Zero Division Error'

 1
 1
 1
 1
 Zero Division Error
 1
 1

どういうエラーが出るのか分かっているときは上の方法でよい。発生するエラーの種類が分からないときはexcepだけを書けばよい。その場合は、予定外の動作になることがあるので注意が必要である。