Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【Python・例外処理】~エラーの出力①~


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210405111435p:plain

おはようございます!Shotaです。今日も早速、Pythonに関する記事を書いていきます。今日はプログラムを実行する上で発生するエラーの出力の仕方について説明していきます。

 

【目次】

 

 tryを用いた例外処理

例外の多くは、プログラムに致命的な影響を与えるものではありません。それよりも。プログラム上にちょっとした工夫で問題なくプログラムを続行できるものが多いのです。例外の多くは、プログラムの中で対処できます。

Pythonには、例外の処理を行うための専用の構文が用意されています。try構文というもので、以下のように記述します。

 

try:

 ---例外が発生する処理---

except 例外:

 ---例外が発生した時の処理---

finally:

 ---構文を終える時の処理---

 

Pythonのエラーには何種類かあり、すべてクラスとして定義されています。try構文は、指定した例外クラスを受け止めて対処するためのものです。

 

try-except

tryの次の行からインデントして、例外が発生する処理を記述していきます。ここで例外が発生すると「except」の処理にジャンプします。exceptには例外クラス名が指定されており、一致する例外クラスが発生した場合のみexceptで受け止めてキャッチできます。例外がexceptでそのままキャッチされると、その例外は消滅し実行は中断されません。例外が発生しなかったのと同じようにそのまま処理を実行していきます。

 

finally

finallyはオプションです。省略しても構いません。

これは、構文を抜ける際に必ず実行する処理を書きます。何かの作業が終わった時の後処理を実行させる際に利用します。finally以下に書いた処理はtry以下に書いた処理に例外が発生してもしなくても必ず実行されます。ただし、finallyには例外をキャッチできる能力はないことには十分注意しましょう。

 

exceptとfinallyは、どちらか一方は必ず用意しなければいけません。言い換えれば、try-exceptまたはtry-finallyのどちらかの組み合わせでプログラム上に書いていく必要があるのです。

 

余談ですが、起きた例外の情報をまとめたメモを残しておけば、プログラムの改善向上に役立ちます。

 

まとめ

【本日のまとめ】

  • 例外はtry構文で処理をする。exceptで例外クラスを指定すると、その例外をキャッチできる。
  • try構文を書く際には、try-exceptまたはtry-finallyのどちらかの組み合わせでプログラム上に書いていく必要がある。ただし、finallyには例外をキャッチする能力はない。

 

本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。

この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!

明日は実際の使い方をコード上で検証していこうと思います。

今日も最後まで読んでくださりありがとうございました!

 

【参考図書】

gihyo.jp