投稿

[Python 100日チャレンジ] Day 46 - 例外処理の応用

Pythonで複数の例外を分けて扱い、独自例外を定義してエラーの意味を明確にする方法を学びます。

[Python 100日チャレンジ] Day 46 - 例外処理の応用

例外を分けて扱う

例外はまとめて受けるより、種類ごとに分けると原因が分かりやすくなります。

1
2
3
4
5
6
7
try:
    with open("data.txt", "r", encoding="utf-8") as file:
        number = int(file.read())
except FileNotFoundError:
    print("ファイルがありません")
except ValueError:
    print("数値に変換できません")

独自例外

アプリ固有のエラーは、独自例外として定義できます。

1
2
3
4
5
6
class InvalidScoreError(Exception):
    pass

def validate_score(score):
    if score < 0 or score > 100:
        raise InvalidScoreError("点数は0から100です")

今日のゴール

例外処理はエラーを隠すためではなく、意味のある失敗として扱うために使います。例外の種類を分けて読みやすくしましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。