メインコンテンツへスキップ
レッスン 4 / 15推定時間: 35

はじめてのエラーメッセージ

エラーメッセージによく登場する基本単語を学び、メッセージの意味を理解できるようになります

はじめてのエラーメッセージ

エラーメッセージは、プログラミングで最初に出会う「英語の壁」です。でも実は、エラーメッセージで使われる英単語はたった15個程度を覚えるだけで、ほとんど理解できるようになります。

エラーメッセージは怖くない

よくある誤解

多くの初心者は、こんなエラーを見ると固まってしまいます:

TypeError: Cannot read property 'name' of undefined

「英語だ...無理...」と思うかもしれません。でも、実はこのメッセージは5つの単語を知っていれば理解できます。

エラーメッセージ頻出単語15選

1. Cannot / Can't(〜できない)

最も頻繁に見る単語です。何かができないときに表示されます。

Cannot find module 'express'
→ expressモジュールを見つけることができない

Cannot read property 'length' of null
→ nullのlengthプロパティを読むことができない

2. undefined(未定義)

変数や値が定義されていない状態を表します。

let user;
console.log(user.name); // Error: Cannot read property 'name' of undefined

userが定義されていない(値が入っていない)ので、nameにアクセスできません。

3. null(空、何もない)

意図的に「何もない」ことを表す値です。

let data = null;
console.log(data.length); // Error: Cannot read property 'length' of null

4. is not(〜ではない)

期待される状態ではないことを表します。

'hello' is not a function
→ 'hello'は関数ではない(関数として呼び出せない)

map is not a function
→ mapは関数ではない(配列でないものに.map()を使った)

5. Error(エラー)

問題が発生したことを示す最も基本的な単語です。

SyntaxError → 構文エラー(書き方が間違っている)
TypeError → 型エラー(データ型が期待と違う)
ReferenceError → 参照エラー(存在しないものを参照)

6. expected(期待される、〜のはず)

プログラムが期待していたものと違うときに使われます。

Unexpected token '\}'
→ 予期しない記号 '\}'(閉じカッコが多い)

Expected ';' but found '.'
→ ';'を期待したが'.'を見つけた

7. found(見つけた)

実際に見つかったものを表します。通常「expected」とセットで使われます。

Expected number but found string
→ 数値を期待したが文字列を見つけた

8. missing(欠けている、不足)

必要なものが足りないときに使われます。

Missing semicolon
→ セミコロンが不足している

Missing required parameter 'id'
→ 必須パラメータ'id'が不足している

9. invalid(無効な、不正な)

形式や値が正しくないときに使われます。

Invalid token
→ 無効なトークン(記号)

Invalid date format
→ 無効な日付形式

10. failed(失敗した)

処理が失敗したことを示します。

Failed to load resource
→ リソースの読み込みに失敗した

Connection failed
→ 接続に失敗した

11. property(プロパティ、属性)

オブジェクトの属性を指します。

const user = { name: "太郎", age: 20 };
// nameとageがプロパティ

12. function(関数)

処理をまとめたもの、呼び出し可能なものを指します。

'hello' is not a function
→ 'hello'は関数ではない(()をつけて呼び出せない)

13. defined(定義された)

変数や関数が宣言・定義されている状態を表します。

'userName' is not defined
→ 'userName'は定義されていない

14. syntax(構文、書き方)

プログラムの書き方のルールを指します。

SyntaxError: Unexpected token
→ 構文エラー:予期しないトークン

15. type(型、種類)

データの種類(文字列、数値、配列など)を指します。

TypeError: Cannot convert undefined to object
→ 型エラー:undefinedをオブジェクトに変換できない

エラーメッセージの読み方

基本パターン

多くのエラーメッセージは以下のパターンで構成されています:

[エラーの種類]: [何が] [どうなっている/できない]

例:

TypeError: Cannot read property 'name' of undefined

型エラー: undefinedの'name'プロパティを読むことができない

実践例1:よくあるエラー

const users = null;
users.map(user => user.name);

エラー:

TypeError: Cannot read property 'map' of null

解読:

  • TypeError:型に関するエラー
  • Cannot:できない
  • read property:プロパティを読む
  • 'map':mapという名前の
  • of null:nullの

→ 「nullのmapプロパティを読むことができない」 → つまり、usersがnullなので、.map()が使えない

実践例2:文法エラー

if (x > 10) {  // 正しい例(括弧が閉じられている)
  console.log("大きい");
}
// エラーの例:if (x > 10 { ← )が足りない

エラー:

SyntaxError: Unexpected token '\{'

解読:

  • SyntaxError:構文(書き方)のエラー
  • Unexpected:予期しない
  • token:トークン(記号)
  • {:開き波カッコ

→ 「予期しない記号 '{' 」 → つまり、その前に何か(この場合は))が必要

実践例3:未定義エラー

console.log(userName);  // userNameを宣言していない

エラー:

ReferenceError: userName is not defined

解読:

  • ReferenceError:参照エラー
  • userName:変数名
  • is not:〜ではない
  • defined:定義された

→ 「userNameは定義されていない」 → つまり、userNameという変数を作っていない

エラーメッセージから学ぶコツ

1. パニックにならない

エラーメッセージは「何が間違っているか教えてくれる味方」です。敵ではありません。

2. キーワードを探す

  • Cannotがあれば「何ができないのか」を見る
  • is notがあれば「何ではないのか」を見る
  • undefined/nullがあれば「値が入っていない」と理解

3. 行番号を確認

多くのエラーには行番号が表示されます:

script.js:15:8

script.jsファイルの15行目、8文字目

4. エラーの種類で原因を推測

  • SyntaxError:タイプミス、カッコの不一致
  • TypeError:想定と違う型の値を使っている
  • ReferenceError:存在しない変数・関数を使っている

練習問題

以下のエラーメッセージは何を意味していますか?

問題1

Cannot find module 'react'
答えを見る

「reactモジュールを見つけることができない」 → reactがインストールされていない可能性が高い

問題2

map is not a function
答えを見る

「mapは関数ではない」 → 配列でないものに.map()を使おうとした

問題3

Missing required parameter 'email'
答えを見る

「必須パラメータ'email'が不足している」 → emailという必須の値を渡し忘れている

まとめ

エラーメッセージの頻出単語15個:

  1. Cannot - できない
  2. undefined - 未定義
  3. null - 空
  4. is not - 〜ではない
  5. Error - エラー
  6. expected - 期待される
  7. found - 見つけた
  8. missing - 不足
  9. invalid - 無効な
  10. failed - 失敗した
  11. property - プロパティ
  12. function - 関数
  13. defined - 定義された
  14. syntax - 構文
  15. type - 型

これらの単語を覚えるだけで、エラーメッセージの80%以上が理解できるようになります。

次のレッスンでは、プログラミングでよく使う基本的な動詞と名詞を学びましょう。