py-py’s blog

何か書くよ

例外処理

例外処理

初心者がよく見るエラー

・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以下の変数名に代入し

そのブロック内で調査をすることができる