Python プログラミング

[Python] 例外処理「try~except~else~finally」の使い方

投稿日:2018年7月3日 更新日:

こんにちは!シミダイ(@shimidai2100)です。

Pythonの例外処理で使用する「try~except~else~finally」の使い方を紹介します。

例外処理を使用することで、python実行時の各環境の状態に依存した予期せぬエラーを処理することができます。

この記事では初心者向けに「例外処理」と「エラー」の違いや、例外処理ごとに処理を分ける方法なども合わせて説明します。

例外処理が扱えると下のようなことも実装可能です。

[Python] 例外処理で指定のデータ型以外を入力させない

こんにちは!シミダイ(@shimidai2100)です。 ブログなどの各種メディアではデータ型の確認方法は公開されていますが、 指定されたデータ型以外の入力を受け付けない書き方は公開されていません。 ...

続きを見る


例外とは?エラーとは何が違うのか?

例外処理を説明する前に例外というものがあります。

例外とは、「様々なコンピュータの状態によって発生したエラー」を指します。

またエラーには構文エラーというものがあり、これは「プログラミングが正しく書かれていないエラー」を指します。

図にすると下がエラーの全体イメージです。

Pythonと構文エラーと例外

つまり例外処理とは、「様々なコンピュータの状態によって発生したエラー時の処理」を指します。

例外処理の基本:try~except

例外処理の基本的な書き方、「try~except」文の書き方を紹介します。

try」は、「例外が発生する可能性がある処理」を書きます。

finally」は、「例外発生時の処理」を書きます。

上記のようにexceptを複数書いて、複数の例外処理を設定することもできます。

下がサンプルコードになります。

12行目のように、例外を指定しなくてもexceptは使用出来ます。

例外処理を詳細に制御:else、finally

例外処理をさらに細かく制御するために「else」、「finally」があります。

else」は、「例外が発生しなかった時に処理する」時に利用します。

finally」は、「例外の発生有無問わず、最後に必ず処理させる」時に利用します。

下がサンプルコードになります。

例外を故意に発生させる:raise

例外を故意に発生させることが出来るのが、「raise」になります。

raise 例外」と指定することで簡単に例外処理を発生させることができます。

下がサンプルコードになります。

例外発生時に何もさせない:pass

例外が発生した時に何もさせないのが、「pass」になります。

下がサンプルコードになります。

組み込み例外とユーザー定義例外

例外には「組み込み例外」と「ユーザー定義例外」が存在します。

組み込み例外」とはPython内にある定義されている例外になります。

組み込み例外は下のマニュアルを確認しましょう。

参考組み込み例外

ユーザー定義例外」とはユーザーが定義する例外になり、ユーザー独自の例外を指定することができます。

大規模開発時にはユーザー定義例外を用意します。

下がサンプルコードになります。

上記のように複数のユーザー定義例外を生成するために、定義されている例外の基底クラスを作成するのが一般的です。

ユーザー定義例外でも組み込み例外の名前付けと同様に、 「Error」で終わる名前で定義します。

 

スポンサードリンク

関連記事

-Python, プログラミング

Translate »

Copyright© shimidai2100 , 2018 All Rights Reserved.