この記事では、Pythonの例外処理の使い方について解説します。例外処理を定義することで、エラーが起きた際の処理を指定することができます。それでは、使い方を見ていきましょう!
スポンサーリンク
例外処理の使い方

例外処理はtryとexceptを使って以下のように記述します。
try:
# 処理
except:
# エラー時の処理
tryのブロック内でエラーが発生したらexceptが処理されます。
サンプル
以下のコードは、tryブロック内であえてエラーを発生させ、その後の挙動を確認してみます。
value = 'one'
try:
value = int(value)
except:
print('valueはintに変換できません')
実行結果
valueはintに変換できません
発生したエラーの型で処理を変える
exceptにエラーの型を指定することで処理を分けることができます。
value = 'one'
try:
value = int(value)
except ValueError: # ValueErrorを指定
print('ValueErrorが発生')
except:
print('その他エラーが発生')
実行結果
ValueErrorが発生
エラーメッセージを受け取る
以下のようにasを使うことでエラーの詳細を受け取ることができます。
num = 'one'
try:
int(num)
except ValueError as e:
print(e)
実行結果
invalid literal for int() with base 10: 'one'
最後の処理 [finally]


finallyを記述することで例外処理の最後に実行したいコードを記述します。finallyはエラーが発生してもしなくても処理されます。
value = 'one'
try:
value = int(value)
except:
print('エラー発生')
finally:
print('例外処理終了')
実行結果
エラー発生
例外処理終了
エラーを投げる [raise]

raise文を使うことでエラーを自発的に発生させることができます。以下のコードでは、func関数を呼び出す際に引数に0を渡すとraies文が処理されてエラーが発生します。
def func(num: int):
if num == 0:
raise
try:
func(0)
except:
print('func関数でエラー発生')
実行結果
func関数でエラー発生
エラーの型とメッセージを指定する
raise文にエラーの型を指定することで、発生させるエラーの型を指定できます。また、引数に文字列を指定することでエラーメッセージを指定できます。
def func(num: int):
if num == 0:
raise ValueError('エラーが発生!')
try:
func(0)
except ValueError as e:
print(e)
実行結果
エラーが発生!
まとめ
この記事では、Pythonの例外処理について解説しました。
今回のおさらい
もし、理解できない箇所があったら記事を読み返してみましょう!
def func():
raise ValueError('ValueErrorが発生しました!')
try:
func()
except ValueError as e:
print(e)
except:
print('その他のエラー')
finally:
print('例外処理終了!')
実行結果
ValueErrorが発生しました!
例外処理終了!
それでは今回の内容はここまでです!ではまたどこかで〜( ・∀・)ノ