【初心者向け】プログラミングでエラー解決するためのポイントとおすすめの質問サイトを紹介


今回はプログラミングにおける「エラー対処」の方法について書きます。どんなに優秀なプログラマーでも、全くエラーを出さずに済むことはありません。素早く的確にエラー対処できるのが優秀なプログラマーです。

パニックというと大げさかもしれませんが、プログラミングを始めたばかりのころはエラーが起きると解決できない焦りからイライラしてしまうことがよくありました。プログラミング経験者は、この気持ちを分かってくれるはず。

今回は自分への自戒も込めて、エラー発生した際にどのような手順で対処するとよいのか、まとめてみたいと思います。プログラミングを初めて間もない初学者の方は参考になると思うので、読んでみてください。

Google先生に聞くのが基本

よっぽど特殊なエラーでない限り、同じエラーで困っている人が世の中に必ずいるので、発生したエラーに関するキーワードでググれば解決方法を載せてくれているサイトが大体見つかります。ドンピシャの解決方法が見つかった時の安堵感は半端なかったりします。

基本的には「Google神に頼れ」という話なのですが、とはいえ手当り次第にググっても効率が悪いので、エラーが起きたときにやるべきポイントをまとめてみます。

エラー解決のポイント

ログのエラーメッセージを「理解する」

エラーとなった場合はコンソールやらログやらに何かしらのメッセージが出力されます。初心者ほどエラーメッセージをきちんと読まずに悩み続けていることが多いです。そしてメッセージはただ読んだだけでは意味がなく、「理解」することが大事です。

エラーメッセージの意味をきちんと理解できれば、それだけで原因が判明することも多いです。

メッセージは英語で出力されることがほとんどなので、英語が苦手だと読んだ気になっているだけで理解できていないこともあります。大変ですが頑張って読みましょう。メッセージの読み方が分からなければGoogle神を頼ればOKです。

原因を洗い出す

エラーメッセージを読んだだけでは原因を特定できなかった場合は、エラーメッセージを元に考えられる原因を洗い出します。簡単に言ってますがこれが一番難しかったりします。僕の周りにいる優秀なエンジニアは、原因を洗い出して切り分けるのが上手いです。

たとえば構文エラーが発生した場合の原因としては、「変数名やメソッド名のタイピングミス(いわゆるタイポ)」、閉じカッコが無いなどの「単純な構文ミス」、「構文の使い方が間違っている」などが考えられ、1つずつ冷静に確認していけば原因は見つけられます。

冷静になればザックリだとしても原因の切り分けができるはずなのに、エラーで頭がテンパってると切り分けをする作業をすっ飛ばしてしまったりします。当てずっぽうの対処で偶然解決できてしまえばいいんですが、原因はこれだ!と確信が持てない限りは切り分けをした方がいいと思います。

頭の中だけで切り分けしようとすると混乱してしまうので、慣れないうちは原因を紙などに書きだしておくと良いです。

切り分けた原因を1つずつ潰していく

考えうる原因を洗い出せたら1つずつ確認していきます。洗い出した原因が複数ある場合は、その中で、最も原因に近そうなものから対処していきます。僕はタイポがすごく多いので、一番に疑うことが多いです……(´・ω・`)

たとえばですが構文エラーの場合、まず単純なタイプミスで無いことを確認し、次に構文が正しく使えているか確認します。構文の使い方はググって調べましょう。先日は「:name」としなければいけないところを「name」としていたために構文エラーになってました。

それでもわからなければ質問サイトで聞いてみる

ここまでやっても解決しなければ、今の自身のスキルでは解決できないエラーということなんで、人に聞いてしまいましょう。

teratailスタックオーバーフローといったエンジニア向けの質問サービスがあります。過去に同様の質問があるか確認し、無ければ質問してみましょう。

質問する際は「わかりません教えてください」だけでなく、ログの内容、自力で調べた結果、利用環境など、情報を詳細に記載するようにしましょう。それが最低限のマナーですし、詳細な情報を伝えることで有益な回答が得られる可能性が高まります。あと、お礼も忘れずに!

teratailの画面はこんな感じ。1時間以内に回答をいただけることも多いです。全体の回答率は90%超!完全無料で利用できます。

英語に慣れよう

日本語で書くプログラミング言語はほとんどありません。【ログのエラーメッセージを「理解する」】の項でも書いたとおり、ログは英語で出力されることがほとんどです。かつエラー解決につながるヒントは海外のサイトにあることも多いです。

英語をスラスラ読めるのが理想ではありますが、そこまでできなくても英語に対する耐性をつけておくといいかと思います。英語に慣れていないとログや海外サイトを読む時に拒否反応がでます。すぐそこに解決方法が載っているかもしれないのに、もったいないですよね。

英語は苦手だからと言って諦めずに頑張りましょう。余談ですが僕はポケモンで英語に慣れました。みんなポケモンもポケモンやろう!( ´艸`)

https://asobitaiblog.com/2017/12/25/659/

おわりに

  • ログを理解する
  • 原因を切り分けて一つずつ確認する
  • それでもわからなければ聞く

手当り次第にエラーの対処をしようとして解決できないと、次第に焦ってきてドツボにはまることが多いです。ひどい時は自暴自棄に陥ったりします(・ω・)

エラー対処のポイントを押さえて落ち着いて対処するのが早期解決につながります。「落ち着いて対処すること」、これが最も大事なことな気がします。解決できずにムキになってつい何時間も悩み続けてしまうこともあるんですが、これは脳が思考停止に陥ってるのでやめましょう。そういうときは時間を空けて、プリンでも食べた後に取り組めばすぐに解決しちゃったりします。

それでは今日はここまで。お読みいただきありがとうございましたヾ(´¬`)ノ

Amazonでの買い物はギフト券チャージがお得です

Amazonでは、「Amazonギフト券」にチャージすると、チャージ金額に応じてAmazonポイントが最大2.5%付与されるキャンペーンをやっています!Amazonユーザーならやらなきゃ損なので、買い物する前にチャージしてポイント貰っときましょう(`・ω・´)

Amazonギフト券について詳しくはコチラ