広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 25 / 68
独自エラー(エラーコードで種類分けする)
このレッスンでは、C言語でエラーコードを使って独自のエラー種類を表現する方法を学び、エラーの種類をより具体的に区別できるようになることを目標にします。「C言語 エラーコード 種類分け」で調べている方向けです。
C言語には例外クラスがありませんが、enumでエラーコードを定義しておくと、エラーの種類ごとに区別しやすくなります。エラーの種類ごとに名前付きの定数を用意しておくイメージです。
サンプルコードでは、typedef enum { ERR_NONE, ERR_INVALID_AGE } ErrorCode;でエラーの種類を定義し、check_age()関数が年齢が0未満のときにERR_INVALID_AGEを返しています。呼び出し側は戻り値のエラーコードを見て、どんな問題が起きたか判別できます。
初心者がよくつまずくのが、エラーコードだけではエラーの詳細な情報(メッセージなど)を伝えにくい点です。より詳細な情報が必要な場合は、構造体でエラー情報をまとめて返すといった工夫が必要になります。
実際の開発現場では、「入力値が不正なエラー」と「通信に失敗したエラー」を区別できれば、それぞれに合った対応をコードで書き分けられるようになります。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
入力チェック専用の、分かりやすいエラーメッセージが作れるようになります。
入力チェック専用の、分かりやすいエラーメッセージが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)