Pythonの例外処理(try / except)とは?|Python基礎

例外処理とは、エラーが起きても、プログラムを止めずに処理を続ける仕組みです。

例えば、

  • 数字で割り算をするとき
  • ファイルを読み込むとき
  • ユーザーが入力した値を使うとき

このような場面では、エラーが起こることがあります。

その時に使うのが、try / except です。

try / except の基本

try:
    実行する処理
except:
    エラーが起きたときの処理

まず try の中を実行し、エラーが起きた場合だけ、except の中が実行されます。

try:
    num = 10 / 0
    print(num)
except:
    print("エラーが発生しました")

上記のコードは、基本的な try / except の例です。

エラーが発生しました

上記は、実行結果です。

このコードでは、10 / 0 を計算しています。

しかし、0で割ることはできないため、エラーになります。

その結果、except の処理が実行されます。

エラーの種類を指定する

try:
    num = 10 / 0
except ZeroDivisionError:
    print("0では割れません")

上記のコードは、エラーの種類を指定する例です。

0では割れません

上記は、実行結果です。

このように、except ZeroDivisionError と書くことで、特定のエラーだけを処理できます。

エラー名原因
ZeroDivisionError0で割った10 / 0
NameError存在しない変数を使ったprint(x)
TypeError型が合わない“age” + 20
ValueError値の形式が正しくないint(“abc”)
IndexError存在しない番号を指定したlist[5]
KeyError存在しないキーを指定したdict[“job”]
AttributeError存在しない機能を使った“abc”.append()

上記は、よく使うエラー名をまとめた表です。

else を使う

try:
    num = 10 / 2
except:
    print("エラーです")
else:
    print("成功しました")
    print(num)

上記は、else を使う例です。

成功しました
5.0

上記は、実行結果です。

else は、エラーが起きなかった場合に実行されます。

成功したときの処理を分けて書けるので便利です。

注意点

何でも try / except で囲みすぎると、本来気づくべきエラーを見逃してしまうことがあります。

そのため、必要な場所だけ使うことが大切です。

Comment

Translate »