Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】エラーコードとエラーメッセージを含むカスタム例外クラスの作成方法

Pythonでは、Exceptionクラスを継承した独自の例外クラスを定義することで、エラーコードやエラーメッセージを自由に組み込んだカスタム例外を作成できます。ここでは、代表的な実装パターンを2つ紹介します。

エラーコードを持つカスタム例外

まず、例外クラスにエラーコードを持たせる基本的な例です。__init__メソッドでコードを受け取り、インスタンス属性として保持します。

class ErrorCode(Exception):
    def __init__(self, code):
        self.code = code

try:
    raise ErrorCode(401)
except ErrorCode as e:
    print("Received error with code:", e.code)

このコードを実行すると、次のような出力が得られます。

Received error with code: 401

引数・エラーコード・エラーメッセージを組み合わせたカスタム例外

可変長引数(*args)を活用すれば、エラーコードだけでなく、複数のメッセージやデータをまとめて例外オブジェクトに渡すことも可能です。

class ErrorArgs(Exception):
    def __init__(self, *args):
        self.args = [a for a in args]

try:
    raise ErrorArgs(403, "foo", "bar")
except ErrorArgs as e:
    print("%d: %s , %s" % (e.args[0], e.args[1], e.args[2]))

実行結果は以下のとおりです。

403: foo , bar

実装のポイント

  • Exceptionクラスを継承するだけで、独自の例外クラスを簡単に作成できます。
  • __init__メソッド内で属性を定義すれば、エラーコードやメッセージなど任意の情報を保持できます。
  • *argsを使うことで、呼び出し側から柔軟に複数の引数を渡せます。

このようにカスタム例外を活用すると、エラー発生時の状況をより詳細に伝えられ、デバッグやログ出力の精度も向上します。プロジェクトごとに共通の例外クラスを設計しておくと、エラーハンドリングの一貫性も保てるでしょう。

  1. Macエラーコード41の原因と対処法を徹底解説

    ファイルやフォルダをコピーしようとした瞬間、「この操作は完了できません。予期しないエラーが発生しました(エラーコード -41)」というメッセージとともにMacエラーコード41が表示され、作業が妨げられたことはありませんか?そもそもこのエラーコードは何を意味しているのか、そしてなぜ発生するのか気になりますよね。ご安心ください。本記事では、Macエラーコード41の概要から具体的な解決策まで、わかりやすく解説します。目次:1. Macエラーコード41とは?2. Macエラーコード41の修正方法3. Macでエラーコード41が発生する原因4. Macエラーコード41に関するよくある質問(FAQ)Mac

  2. Instagramのメッセージにカスタム絵文字でリアクションする方法【初心者向け完全ガイド】

    Instagramは世界で最も利用されているSNSの一つです。フィードへの動画・リール・写真の投稿はもちろん、ストーリーの共有やDM(ダイレクトメッセージ)による気軽なやり取りなど、魅力的な機能が豊富に揃っています。特にダイレクトメッセージ機能は進化が著しく、メッセージに対してカスタム絵文字でリアクションをしたり、「いいね」を送ったりすることも可能です。さらに、一定時間でメッセージが消える「バニラモード」やメッセージの強調表示など、便利な機能も多数搭載されています。 しかし、カスタム絵文字を使ったリアクションの方法を知らないユーザーも少なくありません。そこで本記事では、Instagramのメッ