べんりワザ・つまずいたとき

エラーが出ても、あわてない

エラーは「失敗」ではなく「ここが直せばいいよ」というお知らせです。赤い文字にビビらず読むコツ、原因を落ち着いて探す手順、そのまま検索して答えを見つける方法を紹介します。

コードを書いていれば、エラーは必ず出ます。プロでも毎日出しています。大事なのは、出さないことではなく「出たときにどうするか」。エラーは怒られているのではなく、「ここを直せば動くよ」というヒントです。まずはそう思えるだけで、ぐっとラクになります。

まず、エラーがどこに出るか知る

エラーが顔を出す場所は、だいたい決まっています。

  • ブラウザのConsole(コンソール) … JavaScriptがうまく動かないと、ここに赤い文字で出ます。開き方は開発者ツールの回でやった F12 / ⌘ + ⌥ + I
  • VSCodeの波線 … 書き方がおかしい所に、赤い波線が出ます。マウスを重ねると、理由が吹き出しで出ます。
  • 画面がまっ白・くずれる … これも立派なサイン。「さっき書いた所」があやしい、という合図です。

エラー文の“おいしいところ”を読む

英語で長く出ると身構えますが、見るべきは2か所だけ。

  1. メッセージ本文 … 「何が」問題か。例:Uncaught SyntaxError: Unexpected token
  2. ファイル名と行番号 … 「どこ」で起きたか。例:script.js:12 なら12行目あたり。

全部を訳さなくても大丈夫。行番号のあたりを見に行くだけで、原因が見つかることはとても多いです。

よくあるエラーメッセージの意味

英語のメッセージそのものが分かると、原因のあたりがつけやすくなります。よく見るものだけ、先に意味を知っておきましょう。

エラーメッセージよくある意味
Uncaught SyntaxError: Unexpected token記号の対応が合っていない({(の閉じ忘れ・打ちすぎ)
Uncaught SyntaxError: Unexpected end of inputコードが閉じきれていない(どこかで})が足りない)
Uncaught ReferenceError: xxx is not definedその名前の変数・関数が見つからない(打ちまちがい、または読み込む順番が逆)
Uncaught TypeError: Cannot read properties of undefinedまだ存在しないものを触ろうとしている(お目当ての要素がまだ画面にない、など)
Failed to load resource: 404 (Not Found)画像やCSSファイルの読み込み先パス(場所)がまちがっている

すべてを覚える必要はありません。「このメッセージ、見たことある」を増やしておくだけで、次に出たときの心構えがまったく変わります。

落ち着いて原因を“はさみうち”にする

どこが悪いか分からないときは、範囲をせまくしていきます。

  • さっき変えた所を疑う … 直前まで動いていたなら、犯人はたいてい最後の変更。
  • 一部をコメントアウトして消してみる⌘ / Ctrl + /)… 消したら直った=そこが原因、と分かります。
  • 少しずつ確かめる … 全部書いてから動かすより、少し書いては見る方が、原因を見つけやすい。

それでも分からなければ「検索」する

ここが最大の小ワザ。エラー文を、そのままコピーして検索します。同じところでつまずいた人の答えが、たいてい先に見つかります。

  • エラーメッセージの英語の部分をそのままコピペして検索する
  • 自分の名前やファイル名など、その場かぎりの言葉は消してから検索すると、ヒットしやすい
  • AIに「このエラーが出ました」とエラー文と、あやしいコードを一緒に見せて聞くのも早い
エラーが出た=前に進んでる証拠だよ。赤い文字は「ここ直してね」のメモだと思って、まず行番号を見に行こう。それでも分からなければコピペして検索! これでほとんど解決できるよ〜

まとめ

  1. エラーは失敗じゃなく「どこを直すか」のお知らせ
  2. メッセージ本文行番号を見れば、場所のあたりがつく
  3. is not definedUnexpected tokenなど、よく見るメッセージの意味を知っておく
  4. 分からなければ、エラー文をそのまま検索・AIに相談すればいい

エラーと仲良くなれたら、もう一人で前に進めます。困ったらまたこのべんりワザに、拾い読みしに戻ってきてください。

よくある質問

エラーが出たら、まず何を見ればいいですか?
エラーメッセージの「メッセージ本文」と「ファイル名・行番号」の2か所です。行番号のあたりを見に行くだけで、原因が見つかることがよくあります。
「is not defined」とはどういう意味ですか?
その名前の変数・関数が見つからない、という意味です。名前の打ちまちがいか、読み込む順番が逆になっている場合によく出ます。
エラーメッセージが英語で読めません。全部訳す必要がありますか?
全部訳さなくて大丈夫です。「何が」問題かを示すメッセージ本文と、「どこ」で起きたかを示す行番号の2つだけ見れば、たいてい原因のあたりがつきます。
自分で調べても解決しないときはどうすればいいですか?
エラーメッセージの英語部分をそのままコピーして検索するのが一番の近道です。自分のファイル名など固有の言葉は消してから検索するとヒットしやすくなります。AIにエラー文とコードを見せて聞く方法も有効です。