例外処理
例外処理
初心者がよく見るエラー
・NameError
・ZeroDivisionError
・IndexError
・FileNotFoundError
などなど
エラーが発生するとプログラムの処理が止まってしまうため
例外処理を挟んでプログラムを止めないようにする。
まず基本。
try ~ except
try: 処理 except: 処理
例外処理を組み込むにあたって、エラーが発生する恐れがあるコードの直前にtryブロックを置く
except ブロックでエラーが発生した際の処理を記入
try ~ except ~ finally
try: 処理 except: 処理 finally: 処理
基本と同様で、エラーが発生する恐れがあるコードの直前にtryブロックを置く
except ブロックでエラーが発生した際の処理を記入
finallyブロックで、try文を抜ける前に実行する処理を記入
finallyブロックはエラーが発生してもしなくても実行される
例外の処理を種類で振り分ける
try ~ except(例外1) ~ except(例外2) ~ except
try: 処理 except 例外: 処理 except 例外2: 処理 except: 処理
基本と同様で、エラーが発生する恐れがあるコードの直前にtryブロックを置く
except ブロックでエラーが発生した際の処理を記入
第一、第二のexceptの後ろに例外の名前(例えば、ZeroDivisionErrorなど)を指定すると
tryブロックで発生したエラーの内容によってそれぞれのexceptブロックに書かれた処理が実行される
最後のexceptブロックは指定された以外の例外が発生した際に実行される
try ~ except ~ except ~ else ~ finally
try: 処理 except : 処理 except : 処理 else: 処理 finally: 処理
exceptブロックに対するelseブロックについて、エラーが発生しない場合において
elseブロック配下の処理が実行される
例外情報の調査
except ~ as
try: 処理 except errorname as variablename(任意): 処理
except以下で指定したエラーが発生した場合、例外オブジェクトをas以下の変数名に代入し
そのブロック内で調査をすることができる