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

独自エラー(カスタムエラー型)を作ろう

このレッスンでは、Goで独自の例外(カスタムエラー型)を作る書き方を学び、エラーの種類をより具体的に表現できるようになることを目標にします。「Go言語 カスタムエラー 作り方」で調べている方向けです。

errorインターフェースを満たす構造体を作ると、自分だけの「専用のエラー」を作れます。エラーの種類ごとに型を分けておくと、errors.As()でどんな問題が起きたか判別しやすくなります。

サンプルコードでは、ValidationError構造体がError() stringメソッドを実装することでerrorインターフェースを満たし、checkAge()関数の中で年齢が0未満のときにこのエラーを返しています。呼び出し側はerrors.As(err, &ve)でこの種類のエラーかどうかを判定しています。

初心者がよくつまずくのが、標準のerrors.New()だけを使い続けてしまい、エラーの種類を区別できなくなることです。「入力値が不正なエラー」と「通信に失敗したエラー」を区別できれば、それぞれに合った対応をコードで書き分けられるようになります。

実際の開発現場では、規模の大きいアプリケーションほど、こうしたエラーの種類分け設計の重要性が増していきます。

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

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

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