for関数の使い方とエラー対応

pythonのfor文の使い方です。基本的な使い方は以下になります。

 >>> cnt = list(range(1,6,1))
 >>> for i in cnt :
 ...     print(i)
 ... 
 1
 2
 3
 4
 5 

エラーへの対処方法

以下はfor文を使ったエラー例です。6から-6まで-1づつ減算しながら割り算を行っています。0のところで0除算エラーがでて途中までしか計算処理ができていません。

 >>> cnt = list(range(6,-6,-1))
 >>> for i in cnt :
 ...     testcase =  1 / i
 ...     print(testcase)
 ... 
 0.16666666666666666
 0.2
 0.25
 0.3333333333333333
 0.5
 1.0
 Traceback (most recent call last):
   File "<stdin>", line 2, in <module>
 ZeroDivisionError: division by zero 

以下はエラーをpass(飛ばす)場合の対処方法です。passの部分をエラー発生時の処理と書き換えることでエラー時に実施したい処理ができます。

 >>> # エラー対処処理
 ... cnt = list(range(6,-6,-1))
 >>> for i in cnt :
 ...     try:
 ...         testcase =  1 / i
 ...         print(testcase)
 ...     except ZeroDivisionError :
 ...         pass 
 ... 
 0.16666666666666666
 0.2
 0.25
 0.3333333333333333
 0.5
 1.0
 -1.0
 -0.5
 -0.3333333333333333
 -0.25
 -0.2 

その他にも以下のエラーへの対応がありexceptを増やしていき複数のエラーがあるときにそれぞれの対応を行うことができます。

  • 故意に例外を起こすraise
  • 例外が発生しなかった場合にのみelse句
  • 例外の発生に関わらず必ず処理を行う場合finally句