Python 例外と例外処理 #2

株式会社リュディアです。引き続き例外と例外処理についてまとめていきます。今回は例外処理の構文についてです。

前回までの Python の例外と例外処理についてのまとめへのリンクは以下を参考にしてください。

例外処理を記述する構文は以下のようになります。

try:
   ...
except:
   ...
else:
   ...
finally:
   ...

try 節で囲まれた部分で例外の発生を確認し、発生した例外の処理を except節で記述し、例外が発生しなかった場合は else 節で処理し、すべての実行が終わったときに finally が実行されます。では、以下の例を見てください。

l_div = [2, 5, 3, 0, 4]
a = 10
for i in l_div:
   try:
      print(a, i, a/i)
   except ZeroDivisionError:
      print('Zero division exception')
   else:
       print('\tNo exception')
   finally:
       print('\tAll elements are processed')

# 10 2 5.0
# 	No exception
# 	All elements are processed
# 10 5 2.0
# 	No exception
# 	All elements are processed
# 10 3 3.3333333333333335
# 	No exception
# 	All elements are processed
# Zero division exception
# 	All elements are processed
# 10 4 2.5
# 	No exception
# 	All elements are processed

今回は try 節の中に print 文があるためループが 1 つ進たびに finally が実行されていること、またその前に例外が発生した場合は except 節の内容が実行され、例外が発生しなかった場合は else 節の内容が実行されていることがわかりますね。

今回はまとめのためにすべての分岐を記載しましたが、try ... except ... のみの場合が多いと思います。まれに finally を使うか使わないか、という感じではないでしょうか。

Python の例外と例外処理に関するまとめの続きは以下からどうぞ。

では、ごきげんよう。



いいなと思ったら応援しよう!