広告スペース(バナー)
🐘PHP レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 25 / 68

独自エラー(カスタム例外クラス)を作ろう

このレッスンでは、PHPでカスタム例外クラスを作る方法を学び、エラーの種類を分かりやすく区別できるようになることを目標にします。「PHP カスタム例外 作り方」で調べている方向けです。

Exceptionを継承すると、自分だけの「専用の例外」を作れます。例外の種類ごとにクラス名を付けておくと、catchしたときにどんな問題が起きたか判別しやすくなります。「入力値が不正な例外」と「通信に失敗した例外」を区別できれば、それぞれに合った対応をコードで書き分けられます。

サンプルコードでは、class ValidationError extends Exception {}という、中身が空のシンプルなクラス定義で独自の例外を作っています。checkAge関数の中で年齢が不正な場合にthrow new ValidationError(...)としてこの例外を発生させ、catch (ValidationError $e)で受け止めています。

初心者がよくつまずくのが、独自の例外クラスに何を書けばよいのか分からず戸惑うことです。実は中身が空のクラス定義だけでも、Exceptionを継承しているだけで独自の例外として機能します。区別のための「名前」を持たせることが主な目的だと理解しておきましょう。

例外にpreviousというプロパティを持たせると、元々の原因となった例外の情報も一緒に保持できます。規模の大きいアプリケーションほど、こうしたカスタム例外クラスの設計が重要になってきます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではPHPを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
入力チェック専用の、分かりやすいエラーメッセージが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)