【Python基礎】よくあるエラー(例外)の種類と対処法

よくあるエラー(例外)の種類

Pythonの例外には種類(クラス)があり、それぞれ原因が異なります。代表的なものを覚えておくと、デバッグが格段に速くなります。

1. よく出会う例外一覧

# ValueError:不正な値
try:
    int("abc")
except ValueError as e:
    print(f"ValueError: {e}")

# TypeError:型が合わない
try:
    result = "100" + 50
except TypeError as e:
    print(f"TypeError: {e}")

# IndexError:インデックス範囲外
try:
    lst = [1, 2, 3]
    print(lst[10])
except IndexError as e:
    print(f"IndexError: {e}")

# KeyError:辞書のキーが存在しない
try:
    d = {"a": 1}
    print(d["z"])
except KeyError as e:
    print(f"KeyError: {e}")
▶ 出力結果

ValueError: invalid literal for int() with base 10: 'abc'
TypeError: can only concatenate str (not "int") to str
IndexError: list index out of range
KeyError: 'z'

2. 複数の例外を一度に捕捉

def safe_divide(a, b):
    try:
        return a / b
    except ZeroDivisionError:
        return "エラー:0で割れません"
    except TypeError:
        return "エラー:数値を入力してください"

print(safe_divide(10, 2))
print(safe_divide(10, 0))
print(safe_divide(10, "a"))
▶ 出力結果

5.0
エラー:0で割れません
エラー:数値を入力してください
< 前の記事try-exceptの基本構文
次の記事 >finally と else による後片付け

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール