Pythonの例外処理のやり方と基本的な構文を解説!初めてでもわかるPythonの例外処理
Pythonの例外処理についてやり方と基本的な構文を解説してみました。Pythonの例外処理にはいくつか種類があってraise構文やwith構文などが挙げられます。例外処理を行うことで自作したエラーを投げさせることが可能です。
Pythonの例外処理の種類について
今回はPythonの例外処理について学びます。
Pythonには例外の処理を行うための便利な構文があります。
使い方をまとめていきます。
目次
01. Pythonの例外処理について
_02. 構文による例外処理
_03. raise構文による例外処理
_04. Pythonのwith構文について
_05. Pythonのアサーション文について
_06. Pythonのパス文について おまけ
_07. Pythonのデリート文について おまけ
08. まとめ
01. Pythonの例外処理について
Pythonはエラーが発生したときにコードがストップしないように処理する構文があります。
それが例外処理です。
例外処理では主に、このエラーが発生したらある処理をするというように、あらかじめエラーに対する処理を定義しておくことで成立します。
_02. 構文による例外処理
tryは実行文を実行してみろという指示をします。
exceptはあらかじめ想定したエラーに対して行う処理を指示します。
elseはexceptで指定したエラー以外の場合に実行を指示します。
finallyは常に実行されます。
これがPythonの例外処理を含んだ処理として使用頻度の高い構文です。
Pythonで例外処理を組み込もうと考えたらまずはこの構文を思い出して下さい。
_03. raise構文による例外処理
raiseの基本は例外を発生させることです。
直近に発生した例外を再発生させます。
例ではSystemErrorのインスタンスを生成しエラーを発生させています。
Error messageを引数としてSystemErrorを呼び出し生成したインスタンスに例外を発生させます。
ちなみにこのコードであれば直近に発生した例外を発生させます。
もし直近に例外がなかった場合はTypeErrorを発生させます。
自作した例外に引数を与えています。
生成したクラスのインスタンスを引数にして例外を発生させています。
Pythonの例外処理であってはならないのは謎のエラーでシステムが止まることです。
そこでPythonの例外処理としてエラーを任意の名前で発生するようにプログラムしたり、状況にあったエラーを正しく返すようにしたりすることがraise構文を使うことでできます。
_04. Pythonのwith構文について
例外処理から少し離れた内容です。
with文を使用するとwithブロックが終了したときに終了処理としてclose()が自動的に呼び出されます。
Pythonのwith文は処理の始まりと終わりがすでに含まれていると考えるといいかも知れません。
_05. Pythonのアサーション文について
もし800でなければAssertionErrorを発生させます。
assertはテストのときに値が期待通りに設定されているかどうかを確認するための仕組みです。
Pythonコードは動いているが変数の中身が正しいものなのかわからない。
アサーション文を使用すると値が指定した値と異なる場合はエラーを返します。
そのためアサーション文を使用して例外処理を応用をするといいと思います。
動くコードが中身まで期待通りに動いているかどうかはわかりずらいですからね。
_06. Pythonのパス文について おまけ
pass文は何もしないという処理です。
空のクラスや特に何もしない関数を作成するときに使用されます。
_07. Pythonのデリート文について おまけ
Pythonのデリート文では生成されたオブジェクトを削除します。
08. まとめ
お疲れ様でした。
ここまで読んでいただきありがとうございました。
今回はPythonの例外処理について学びました。
例外処理はプログラミングが正しく動作させるのに必要なので身につけておきましょう。