プログラミング学習の中でコードを書いているとエラーが発生したりしますよね。
教材のとおりにコードを書いたり、サイトを参考にしながら処理を作成しているのにも関わらず、どうしてもエラーはでてしまうものです。

ちゃんと教材どおりにコードを書いているのに、なぜかでてしまうんですよね、ほんとうに。
しかも学習中のうちはエラーの解決方法なんて知らないので、解決できないままま次の学習に進んだり、最悪挫折することに……。
私自身も学習当時はよくエラーが起き、どうやってエラーを解決していけば良いのかイメージすらもつかず、わからないことをそのままに学習を進めたりしていました。
こうした気持ち悪い経験を皆さんにはしてほしくはないため、今回はエラーの解決方法を「学習レベル別に」紹介していきます。
エラー解決は方法を知るだけでなく、マインドも必要なので、これについてもしっかり説明していきます!
発生するエラーの種類について


「そもそもプログラミングではどんなエラーが発生するの?」って気になる方もいると思います。
エラーにはいろんなものがありますが、WEB系言語でのエラーは主に以下のものがあります。
- 構文エラー:間違った文法でコードを書いた時に発生するエラー。
- 参照エラー:存在しない変数や配列のキーを使おうとすると発生するエラー
- 型エラー:値の型が想定されたものでなく、処理で失敗することによるエラー。
- ランタイムエラー:nullや未定義の値があったり、処理で失敗した際に発生するエラー。
- 論理エラー:明確にエラーというわけではないが、意図した動作や結果にならなかったりするもの。
「いろんなエラーがあって難しそう…」ってなりそうですが、スペルミスや漏れといった簡単なものであったり、そもそも書き方が違ったりでエラーになることが多いですね。



よくよく考えたらこのロジックおかしくない?ってコードでエラーが起きていたりもするので、とりあえず見返したらなんとかなるものが多いですよ。
もちろん実務だと見たことのないようなエラーであったり、なかなか解決の難しいエラーもあったりしますが、プログラミング学習中ではそんなエラーはまず起きないので安心してください。
まずはエラー解決の方法を今回の記事で確認し、基本的なエラーから解決できるようになっていきましょう。
エラー解決に必要なマインド
エラー解決では方法さえ知っていれば良いというわけではなく、マインドも持っておかなければいけません。それが以下のとおり。



それぞれ「どういうこと?」ってなると思うので、紹介していきます。
エラーは当たり前のもの


プログラミング学習中の初心者は、エラーを「怖いもの」「絶対発生してはいけないもの」と思いがちですが、決してそんなことはありません。
たしかにお客さんへ納品するものにエラーがあってはいけません。さすがにトラブルになってしまうので。
ただ、開発中ではエラーなんて当たり前にあるし、エラーが起きる前提に実行するといったこともよくあります。



なんなら、あえてエラーが起きそうな値や設定でテストすることもあります。
開発中でのエラーは、本番などの大事な局面でトラブル発生を防ぐことにつながるので、むしろ起きて良かったと思えるほどなんですよね。
また、学習中の観点でもエラーが発生したら自分で解決しなければならないという状態になるので、「成長」のチャンスになります。
なので、エラーは「当たり前のもの」であり、開発中ではむしろ「起きた方が良いもの」と思いましょう!
粘り強く向き合う


エラーの解決にはコードを1つ1つ確認したり、いろんな方法で実行を試すことが必要になってくるため、粘り強く向き合うことを意識しましょう。
ちょっとした文字やコードの修正程度であれば、向き合うほどでもなくすぐにエラー解決できる場合が多いです。
ただ、実際はいろんな処理や機能を作成し、複雑なコードの中でエラー解決をしていかなければなりません。
そのため、粘り強く機能や処理を1つ1つのコード単位まで分解していくレベルで、ちゃんと向き合う必要があるんですよね。
エラーがすぐに解決できなくとも、粘り強く向き合い、「必ず解決してやる!」といった気概を持つようにしましょう。



必ずその日に解決する必要はなく、別日に回してでもう良いので諦めないことが大事です。
1つの方法や原因には固執しない


エラーが発生した場合はいろんな可能性を考えながら、思いついた方法を試して解決していくことを心がけていかなければなりません。
具体的にはエラーメッセージのコードを確認するだけではなく、用意した環境がそもそも間違っていたり、ファイルの構成がおかしくないかなどの確認があります。
というのも、以下のパターンがあるからなんですよね。
- エラーメッセージでは原因となるコードを示しているが、実際は別の箇所のコードが原因だった
- コードは合っているが値が想定したものでないためにエラーになっていた
- 自分の環境でのバージョンが違うことで、コードが対応していなかった
そのため、なんでもかんでもエラーメッセージが原因であったり、コードだけを直すことを考えるのではなく、関連しそうなことを洗い出して確認していきましょう。



とはいえ、プログラミング学習中の初心者にとっては難しいことなので、まずは「他に原因はないかな」と自分なりに意識することから始めましょう。
主なエラー解決手法の種類
エラー解決に必要なマインドを紹介したところで、次はエラー解決手法について紹介していきます。
主なエラー解決手法については以下のものが挙げられます。



ほかにも手法はありますが、今回挙げたものは重要なものなので、それぞれ説明していきます。
エラーメッセージの確認


エラー発生時に表示されるメッセージを確認し、それにしたがってエラーを解決していく方法です。
だいたいのエラーメッセージには「エラー名」「エラーの内容」「どこがエラーの原因になっているか」の3点が書かれています。
これらの内容を参考にしながら、どこのコードがどんなふうに間違っているのかをピンポイントに特定し、修正や変更をすることで解決していくのがここでの手法です。
だいたいのエラーメッセージは英語で書かれているためまずは翻訳し、次にエラーメッセージの内容を確認、最後にメッセージの内容をもとにコードを修正するといった流れになります。



ただ、必ずしも原因の箇所を提示したり、具体的な内容を記載するわけではないので、内容がすべてだと思わないように注意しましょう!
少しずつコードを実行して特定


エラーが発生した際に問題のありそうなコードを分解し、少しずつ実行して原因を突き止める手法です。
エラーメッセージだけでは解決できない場合に、問題のありそうな箇所やその周りのコードを小さな処理単位まで分解して実行し、エラーが発生している箇所を見つけていきます。
実行の際は単純に1つ1つ分解して実行するだけでなく、テスト用の値を用意したり値の型を変えたりで、考えられるパターンを試していくことになります。
とはいえ、問題のコードとってもどこまでを範囲としていけばわからないと思うので以下に具体的な流れを記載します。解決しなかったら次に進むイメージですね。
- ①エラーメッセージが示した行や最後に記述したコードを確認
- ②①の周辺にあるコードの確認
- ③別のファイルや関係ないと思っているコードの確認
解決できなかったら範囲を広げていって、少しずつコードを実行していきます。



かなり根気の要る作業ですが、だいたいはこの手法で解決できるので、ぜひ使っていきましょう
ネット上のサイトで調べる


ネット上にあるIT系メディアや個人ブログなどのサイトを見て、エラーの解決を行う手法になります。具体的な流れは以下のとおりです。
- ①発生したエラーをブラウザの検索バーに貼り付けて検索
- ②ヒットしたサイトのうち、同じようなエラーの解決方法を紹介している記事を探す
- ③記事を見ながら自分のコードと見比べたり、真似をしたりで解決する
ネット上の記事は内容が難しかったり、わかりづらい文章であったりもしますが、ちゃんと読めば解決の糸口が見つかったりします。
というのも、「案外気に留めてなかった部分でエラーが発生しているかも」ということに気づかせてくれるんですよね。
具体的には言語のバージョンが原因だったり、動作は同じだけど違うメソッドや書き方でエラーになっていたりなどです。



教材では絶対に手に入らない情報もあったりするので、普通に勉強にもなりますよ!
AIにコードレビューをしてもらう


ChatGPTなどのAIにコードを見てもらい、エラーを突き止めて解決してもらう手法になります。
エラーメッセージとエラーが起きているコードをそのままAIに投げるものになります。原因と解決をAIにまかせちゃう感じですね。
AIに任せることで、どこのコードがどんな原因でエラーになっているのかをしっかり説明してくれるので、すぐに解決ができます。
さらに、エラーが起きる可能性のある箇所についてや、よりコンパクトで無駄のない書き方をフィードバックしてくれたりもするので、勉強にもなるんですよね。



ただ、なんでもかんでもAIにまかせると、自分自身のエラー解決力が身につかないので、まずは自分で解決することを心がけましょう。
エラーの解決だけでなく、プログラミングそのものにつも使えるので、気になる方は以下の記事を確認するのがおすすめです。
関連 プログラミングのエラーでChatGPTは使えるの?メリットやリスクを解説!
スキルレベルごとのおすすめエラー解決方法
エラー解決に必要なマインドと手法が揃ったので、いよいよ本題であるエラー解決方法に紹介していきます。
エラー解決方法はスキルレベルごとで変わってきますが、学習中の場合は以下の3つに分かれます。
それぞれのレベルごとのエラー解決方法を紹介するので、自分に合ったレベルのものを実践していきましょう。
レベル1:コードの読み方もわからない完全初心者の方


まだプログラミングを始めてから間もなく、コードの読み方も全くわからない方については以下のとおりにエラー解決を行いましょう。
- ①教材と自分のコードを見比べてみる
- ②違うところを教材のコードに修正する
- ③解決できなかったら、一度教材のコードを書き直す
このレベルの方は、基本的に教材を見ながらコードを写していく学習を行っていきます。そのため、エラーが発生するとすればスペルミスや書き忘れによるものが大半ですね。
なので、基本的に合っているコードが記載された教材と自分のコードを見比べ、違っているところを教材のコードに直していくことでエラー解決ができます。
その際、どこが漏れていたり、書き間違いがあるとどんなエラーになるのかという部分を意識するようにしましょう。文法や決まりごとに対して理解がちょっとずつ深まっていくので!



とにかく教材ベースで解決することを意識しましょう。下手にAIに頼ると、教材と違うコードが返ってきたり、そもそも説明の意味が理解できない可能性が高いのでかえって挫折します。
レベル2:教材を見ながらであれば機能を作れる方


コードに少しずつ慣れてきており、教材を見ながら自分なりのアレンジを加えた機能を作れる方については、以下の流れでエラー解決をするのがおすすめです。
- ①エラーメッセージを見て原因のコードを確認する
- ②-a(教材のコードでエラーだった場合)教材のコードと自分のコードを見比べて修正
- ②-b(自分でアレンジした箇所の場合)自分で書いたコードを分解して修正する
- ③AIにコードの確認をしてもらう
このレベルの方は教材のコードと自分でアレンジした箇所のコードが混在している場合が多いです。教材のコードをちょこっと変更したり、条件分岐や追加の表示など簡単な変更をすることになるので。
そのため、教材のコードであればレベル1と同じようにエラー解決を行い、自身でアレンジした箇所であればコードを1つ1つ分解し、どこでエラーが発生しているのかを見つけて修正していくことになります。
そして、どうしてもエラーが解決できない場合にはChatGPTなどのAIにコードを確認してもらい、原因と修正方法を教えてもらうようにしましょう。



レベル1の方とは違ってコードが少しわかるため、「どのコードが原因となっているかを自分で探していく」ことを意識するよう心がけましょう。ただし、無理だと思ったら遠慮なくAIにお願いしても大丈夫です!
レベル3:簡単な機能なら自分で実装できる方


レベル3はプログラミングスクール卒業者レベルで、基礎的なコードをある程度理解しているものの、実務のような応用はできない方が対象になります。
このレベルでのエラー解決については、以下のとおりにエラー解決を進めていくのがおすすめです。解決できなかったら次の番号へ進んでいきます。
- ①エラメッセージの原因コードを特定して修正
- ②原因コード周りのコードを1つ1つ分解して実行し、原因を特定して修正する
- ③ブログやITメディアでエラーの原因を検索して調べる
- ④AIにコードの確認をしてもらう
レベル2と違ってレベル3では多くのコードが自分で作成したものになってくるため、教材に答えがない場合が多く、より自分でエラー解決を行なっていかなければなりません。
これにより、「メソッドの使い方があっているか」「引数が間違っていないか」「動作は違うけど細かな仕様の違いがあるメソッドを使っていないか」などなど細かく見ていく必要がでてきます。
また、教材にはないような機能や処理を実装していることもあるため、その際にエラーが発生した場合は参考にしたサイトや、通常のキーワード検索で原因を特定し、解決を行うようにしましょう。



自分のコードの比率が上がるため、エラー解決も当然自分で行なっていく必要があります。ただ、このレベルではネット上にないような機能は実装しないため、どうしても行き詰まったらAIで解決できるので安心してください!
エラーを未然に防ぐ&解決しやすくするために


ここまでエラーを解決する方法について紹介しましたが、そもそもエラーを未然に防いだり、解決しやすくしておくのも大事です。
そのために、以下のことを心がけてコードを書くようにしましょう。
- コードのインデントを揃える
- 処理のかたまりごとにどんな処理なのかコメントを入れる
- 自分が触った箇所をメモしたり、覚えておく
- イメージのつく配列や変数名をつける
- 関数やクラスで使い回せるようにしておく
ほかにも心がけるべきことはありますが、とりあえず挙げたものをやっておくだけでもだいぶ変わります!
というのも、挙げたものをやることで、コードが一気に見やすく管理しやすくなるからですね。
コードを見やすく管理しやすくすることで、つまらないエラーであったり、エラー発生時にすぐに原因となるコードを特定できるので、ぜひやっておきましょう。



また、今回挙げた内容はエラー解決に限った話ではなく、チームで仕事したり、後から改修する際にも影響するので絶対にやっておきましょう。仕事のしやすさに反映されますよ。
【コラム】フリーランスレベルでのエラー解決方法


今回はプログラミング学習者向けにエラー解決方法を紹介してきましたが、参考までに僕(らいち)のようなフリーランスレベルの人はどうやってエラー解決しているのかも気になる方もいるでしょう。
それは結論、以下の流れでエラー解決を行なっています。解決できなかったら次の番号へ進んでいくイメージです。
- ①エラメッセージの原因コードを特定して修正
- ②エラーメッセージの周りのコードをを1つ1つ分解しながら実行
- ③個人サイトやITメディアなどで調べる
- ④ChatGPTにエラー原因と修正方法を聞く
- ⑤公式ドキュメントや似たようなエラーから解決策を探す
正直④までは「レベル3:簡単な機能なら自分で実装できる方」と同じですが、フリーランスレベルでは⑤が存在しています。
その理由は実務では解決策がネット上になかったり、ChatGPTもうまく答えられないエラーがあったりするから。



そのため、より粘り強くエラーに向き合うため、調べる手段を拡大している感じですね。
ただ、これはフリーランスレベルでのお話なので、まずは基本的なエラー解決ができるように「スキルレベルごとのおすすめエラー解決方法」をマスターしましょう!
最後に


本記事ではプログラミング学習中の方へ向けて、エラーの解決方法について紹介しました。
プログラミング学習中などの初心者の多くは、エラー自体が「怖いもの」「出してはいけないもの」と認識してしまっています。
でも、本記事を読んだのであれば、エラーなんか全然怖くないし、自分でちゃんと解決できるものということを理解してくれていると思います。
紹介したマインドやエラーの解決手法、そしてレベルごとの解決方法を踏まえ、どんどんエラーに立ち向かって成長していきましょう!



とにかく、エラーが出た場合はすぐに諦めず、粘り強く向き合っていってください!