カテゴリ: Python 更新日: 2026/02/08

Pythonのカスタム例外を作成する方法を完全解説!独自のExceptionクラスを初心者向けにやさしく説明

Pythonのカスタム例外を作成する方法(独自のExceptionクラス)
Pythonのカスタム例外を作成する方法(独自のExceptionクラス)

先生と生徒の会話形式で理解しよう

生徒

「Pythonのエラーって、いつも同じようなメッセージしか出せないんですか?」

先生

「いいえ。Pythonでは自分専用のエラーを作ることができます。」

生徒

「オリジナルのエラーを作れるんですか?」

先生

「はい。カスタム例外と呼ばれる仕組みを使えば、分かりやすいエラーメッセージを自分で決められます。」

1. Pythonのカスタム例外とは?

1. Pythonのカスタム例外とは?
1. Pythonのカスタム例外とは?

Pythonのカスタム例外とは、自分で作るオリジナルのエラーのことです。通常、Pythonにはあらかじめ用意されたエラーがありますが、内容が分かりにくい場合もあります。

そこで、自分のプログラム専用のエラーを作ることで、「何がいけなかったのか」をはっきり伝えられるようになります。

2. Exceptionクラスを継承する

2. Exceptionクラスを継承する
2. Exceptionクラスを継承する

カスタム例外は、Exceptionクラスをもとに作ります。継承とは、「元になる仕組みを受け継ぐこと」です。難しく考えず、「Exceptionを土台にする」と覚えてください。


class MyError(Exception):
    pass

これだけで、MyErrorという新しいエラーが完成しています。passは「今は何もしない」という意味です。

3. カスタム例外を発生させてみよう

3. カスタム例外を発生させてみよう
3. カスタム例外を発生させてみよう

作成したカスタム例外は、raiseを使って発生させます。raiseは「エラーを投げる」という意味の命令です。


class AgeError(Exception):
    pass

age = 15
if age < 20:
    raise AgeError("20歳未満の方は利用できません")

このように書くことで、自分の決めた条件でエラーを出せます。

4. try-exceptでカスタム例外を受け取る

4. try-exceptでカスタム例外を受け取る
4. try-exceptでカスタム例外を受け取る

カスタム例外も、通常の例外と同じようにtry-exceptで受け取れます。これにより、エラーが出ても安全に処理できます。


class AgeError(Exception):
    pass

try:
    age = 15
    if age < 20:
        raise AgeError("年齢が条件を満たしていません")
except AgeError as e:
    print(e)

年齢が条件を満たしていません

エラーメッセージが日本語で表示されるため、初心者にも分かりやすくなります。

5. カスタム例外は注意書きのようなもの

5. カスタム例外は注意書きのようなもの
5. カスタム例外は注意書きのようなもの

カスタム例外は、例えるならオリジナルの注意書きです。決まった文章では伝わらない内容を、自分の言葉で説明できます。

これにより、プログラムを使う人も、作る人も混乱しにくくなります。

6. エラーメッセージを整理できる

6. エラーメッセージを整理できる
6. エラーメッセージを整理できる

カスタム例外を使うと、「このエラーは何の問題か」を名前で区別できます。AgeErrorのように名前を見るだけで内容が分かるのも利点です。


class LoginError(Exception):
    pass

try:
    raise LoginError("ログインに失敗しました")
except LoginError as e:
    print("ログインエラー:", e)

ログインエラー: ログインに失敗しました

7. 初心者がカスタム例外を使うメリット

7. 初心者がカスタム例外を使うメリット
7. 初心者がカスタム例外を使うメリット

初心者の方にとって、エラーは怖い存在になりがちです。しかし、カスタム例外を使えば、「自分で理解できるエラー」を作れます。

英語だらけのメッセージに悩まず、原因をすぐに把握できるのは大きなメリットです。

8. カスタム例外の基本的な考え方

8. カスタム例外の基本的な考え方
8. カスタム例外の基本的な考え方

最初は難しく感じるかもしれませんが、「Exceptionを継承して、raiseで使う」だけ覚えれば十分です。

Pythonのカスタム例外は、プログラムを分かりやすく、やさしくする仕組みです。基本を押さえることで、安全で読みやすいコードが書けるようになります。

カテゴリの一覧へ
新着記事
New1
Python
Pythonで複数の例外をまとめてキャッチする方法を完全解説!初心者でもわかる例外処理入門
New2
Python
Pythonでリストをコピーする方法!copy()・スライス・list()の使い方を比較
New3
Django
Djangoバリデーションの種類まとめ|フォーム・モデル・フィールドレベルの違いを初心者向けに徹底解説
New4
Flask
FlaskアプリをGCP Cloud Functionsで動かす!初心者向けサーバーレス公開ガイド
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.4
Java&Spring記事人気No4
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.5
Java&Spring記事人気No5
Python
Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
No.6
Java&Spring記事人気No6
Flask
Flaskでフロントエンドからファイルアップロードを行う基本手順【初心者向け】
No.7
Java&Spring記事人気No7
Flask
Flaskでデータベースエラーを処理する方法!初心者にもわかる例外の使い方
No.8
Java&Spring記事人気No8
Django
DjangoのincludeでURLを分割管理する方法を完全ガイド!初心者でも迷わないURLルーティング入門