Python ~例外処理~
今回はPythonでの例外処理方法をご紹介いたします。
・例外の種類
開発を行う上で、例外は必ず考慮しなければいけません。
良く使用される例外名を一部ご紹介いたします。
・Exception すべてのExceptionの基底クラス
・ZeroDivisionError 0除算
・ImportError importモジュールエラー
・IndexError 範囲外のindexを参照
・KeyError 存在しない辞書のキーを参照
・NameError 存在しない名前を参照
・PermissionError 権限なし
・TimeoutError タイムアウト
・TypeError 型異常
…
・例外処理
例外が発生した場合にプログラムを停止せずに実行する場合、
下記のように記述することで例外をキャッチすることが出来ます。
【出力結果】
エラー
「try」内に通常処理を記述します。
「except 例外名 as 変数名」と記述することで「try」内で起きた例外をキャッチすることが出来ます。
上記の処理では「raise Exception("エラー")」で無理やり例外を起こしています。
・複数例外の異なる処理
例外の種別ごとに処理を分けたい場合、
下記のように記述することでそれぞれ例外をキャッチすることが出来ます。
【出力結果】
エラー内容: division by zero
数値を'0'で割っていることによるエラーです
【出力結果】
エラー内容: unsupported operand type(s) for /: 'int' and 'str'
型が異なっています
・複数例外の同一処理
複数の例外を同一の処理にしたい場合、
下記のように記述することで同一の処理を実行することが出来ます。
【出力結果】
エラー内容: division by zero
タイプが間違っているか、数値を'0'で割っていることによるエラーです
・else処理
「try」内の処理が正常終了した後に実行したい処理がある場合、
下記のように記述するこで、正常終了後の処理を実行することが出来ます。
この処理は「try」内で例外が発生した場合、実行されません。
【出力結果】
正常処理実行
例外なし
・finally処理
プログラムが終了する前に実行したい処理がある場合、
下記のように記述することで、終了前に処理を実行することが出来ます。
この処理は「else」処理より後に実行されます。
この処理は「try」内で例外が発生した場合でも実行されます。
【出力結果】
正常処理実行
else: 例外なし
finally: 終了
・まとめ
今回はPythonでの例外処理をご紹介いたしました。
開発を行う上で、例外は考慮しなければいけません。
例外が起きてしまう可能性がある場合、今回ご紹介した機能を活用してみてください。
弊社はソフトウェア開発の事業を行っております。
弊社ではまだまだ社員を募集しています。
ぜひ興味のある方は応募を検討してみてください。