【Python】例外・エラー処理(try、except、else、finally、raise)

この記事では、Pythonで例外・エラー処理を実装する方法について入門者向けにソースコード付きでまとめました。

例外処理とは

例外処理では、「プログラムを実行してエラーが発生した場合に、処理を中断して別の処理」を行わます。
例外処理なしでプログラムにエラーなどが発生すると強制終了していまします。
そのため、予期せぬ出来事(エラーなど)が発生しそうな部分に例外処理を作っておことで次のようにプログラムの安全性を高めることができます。

機能
予期せぬ出来事(エラーなど)が発生してもプログラムを停止せずに回復させる
回復不可能な状態でも安全にプログラムを終了させる

例外処理の実装

Pythonでは、「try」「except」「else」「finally」文で例外処理(エラー処理)を実装します。

サンプルコード

x = 1
y = "5"

try:
    z = x + y # 例外(IndexError)
except IOError:
    print("IOErrorです")             # 例外がIOErrorなら、このブロックを実行
except IndexError:
    print("IndexErrorです")  # IndexError例外なら、このブロックを実行
except:
    print("その他の例外です")               # その他の例外なら、このブロックを実行
else:
    print("例外ではありません")                 # 例外でなければ、このブロックを実行
finally:
    print("終了")               # 常にこのブロックを実行

実行結果

その他の例外です
終了

文字列と数値の加算なのでエラーが発生します。
このエラーは「IOError」「IndexError」以外の例外なので上記のような実行結果となります。

関連記事
1 Python入門 サンプル集
関連記事