Python初心者が例外処理をやってみる。

Python初心者が例外処理をやってみます。

事前に例外処理を行っておくことで、エラーが発生しても終了しないで処理を継続することができる。

■環境

Google Colaboratory

■基本である「try, except」文を使ってみる

例外処理の基本である「try, except」文を実際に使ってみます。

例外処理のサンプルが掲載されていましたので、こちらを使わせていただきます。

■コード

  a = 500/0
  print("終了します。")

本来、上記のコードを記述し実行すると、

—————————————————————————
ZeroDivisionError Traceback (most recent call last)
<ipython-input-9-622a6b35ec7a> in <module>()
—-> 1 a = 500/0
2 print(“終了します。”)

ZeroDivisionError: division by zero

500という数値を0で割るので、上記のZeroDivisionErrorというエラーが起こり、メッセージが表示されます。

一方、「try, except」文を使うことで、

■コード

try:
  a = 500/0
except Exception:
  print("エラーが発生しました") 
else:
  print("終了しました")

「a = 500/0」という数値を0で割ることでエラーが起きそうな箇所を「try:」内に入れることで、「try:」内でエラーが発生した場合、「except Exception:」の処理を行い、「エラーが発生しました」と出力することできる。

実際に実行してみると、

「エラーが発生しました」と出力されることを確認しました。

なお、ゼロ除算(0で除す割り算)の場合に、例外処理を行う場合は、「except ZeroDivisionError:」という形もできる。逆にどんな例外処理もとらえるのが「except Exception:」である。

■終了時に常に行う「finally」節を使ってみる

今回「try, except」文を使ってみたが、処理が終了する際に常に行う処理を実行できる「finally」節というのがあるので使ってみる。

■コード

try:
  a = 500/0
except Exception:
  print("エラーが発生しました") 
else:
  print("終了しました")
finally:
  print("ここは必ず通ります")

「a = 500/0」という数値を0で割ることでエラーが起きますので、「except Exception:」の処理が実行されますが、さらに「finally:」を追加することで、この処理は終了時に必ず処理が実行されます。

実行してみると、「except Exception:」の処理が実行され、「エラーが発生しました」と出力されましたが、「finally:」の処理も実行され、「ここは必ず通ります」と出力されることが確認できました。

コメント

タイトルとURLをコピーしました