2020.09.14どもーグーです!プログラミングを始めたばかりの方にとって、エラーメッセージにぶつかることは避けられないことですよね。そこで、あなたはこの訳のわからないエラー文を引き下げ、周りの経験者たちに「エラーが出た!どうするのこれ!」と言って「答え」を聞こうとしますよね。周りに経験者買いない方やエラーを理解できる方がいなかったらどうしましょう。一人前のエンジニア(プログラマー)になるためには、自分でエラーメッセージを解読し、エラーを解消できるようになる必要があります。エラーメッセージの原因の分類や、対処法。これについては、やはり自分がどれだけエラーメッセージと向き合って、経験を重ねてきたかが鍵。「答え」を聞いて、動いたからイイやで終わっているのでは、折角のエラーメッセージが台無しです。エラーメッセージは、開発において重要な相棒です。間違いを指摘してくれ、正常なコードへ導いてくれます。こんな心強い味方はいないので、メッセージを見た瞬間に目を瞑ったり、逸らしたりせず。^^今回は、エラーメッセージとの向き合い方をお話しします。スポンサーリンクもくじエラーメッセージを「読む」エラーメッセージが出たら、まずは動詞がある短文を探せ!長文エラーメッセージの場合は、一番上をまず見る!メッセージ内で、ファイル名を探すエラーを「解決」していくどうしたらエラーメッセージが消えるのか同じエラーを自分で起こしてみるエラーは1つずつ確実に潰す慣れてきたら、コードを追ってみるさらに慣れてきたら、「予測」をしてみましょう「解決」していくためのツールエンジニアにとって必須スキル「Google検索力」プログラミング用のサービスで質問をするさいごにエラーメッセージを「読む」まずは読まないと何も始まりません。「英語は苦手です」と言う声も聞こえそうですが、プログラミング言語も英語です。一人前のエンジニアを目指すには、英語は避けて通れません。Google翻訳等のサービスを駆使して、なんとなくでも内容を把握するように意識しましょう。今後出会うであろう初見のエラーメッセージにも臨機応変に対応していけるようになっていきます。“/~~~”...etcそこまで難しい英単語が出てくるわけでもないので、なんとなく読める方も多いと思います。~~~”こうなるともう原因っぽい箇所が思い浮かんだり、思い当たったりするかもしれませんね。すると、問題のエラーに直結しない場合もあるかもしれません。少なくとも、問題が関連しているエラーの内容はある程度把握することができますね。長文エラーメッセージの場合は、一番上をまず見る!コンソール画面やブラウザ上にいっぱいのエラーメッセージが出てくると、萎えますよね。私も、新卒で入った会社で入社直後のテスターをやっていたころは、エラー画面が出るとテンションガタ落ちでした。調査することで、問題を明るみにしサービスリリース前までに問題なく動くアプリケーションを作るということが出来た経験はある種、エンジニアとしての地盤になっているなと感じることが多々あります。そんな大量のエラーメッセージが出てきてしまった場合は、一番上からまず見ていきましょう!エラーメッセージは、発生順に出力されることがほとんどです。最初のエラーメッセージが、エラーの始まりとも言えます。枝先のエラーを解消しても全体のエラーを解消できる可能性は低いです。大元から潰していきましょう。すると枝先のエラーは同時に解消される可能性もあります。一つ一つ遡るよりも、遥かに効率的にエラー解消ができますよね!なので「上から見る!」というのが重要!メッセージ内で、ファイル名を探すメッセージ内にファイル名がある場合。そのファイルにエラーが含まれていることを指している可能性が高いです。ファイル名がある場合、ほとんど行数と共にエラーメッセージが出ています。これが見つかればピンポイントでエラーチェックに向かえますね!また、エラーの位置を表す英単語にも注目してみてください、in,at,beforeなどの単語はエラー位置を指している場合が多いです。エラーを「解決」していくエラーメッセージを「読む」ことをした後は、「解決」をしましょう。読めたけど、何をしたらいいのかわからない、どう直せばいいのかわからないでもこれを乗り越えていくことが、一人前のエンジニアになる近道です!では、解決策を探すコツを紹介していきます!※コードを色々と弄っていくので、かならず現状保存はしておきましょう。戻せなくなると原因究明どころではなくなってしまいます。したらエラーメッセージが消えるのかまずは、どうしたら消えるのかを考えていきましょう。単純な方法は、エラー箇所をコメントアウトもしくは消してみる。それでエラーメッセージが消えるのであれば、消したコードを細かくチェックしていく必要が出てきますね。エラーメッセージが消えないもしくはエラーメッセージが変わった場合、元凶は別にある可能性がありそちらを優先的に調査しましょう。同じエラーを自分で起こしてみる自らでエラーを起こすコードを書くことで、そのエラーメッセージに対する理解を深める。エラーが起きた状況を細かく再現する必要はなく、簡単なコードで良いと思います。書いたら該当のエラーが起きるのか、どう直せばエラーが解消できるのかを明確にできます。プログラムが大きくなればなるほど、エラーの出どころや調査範囲が拡大し原因を追求しにくくなります。その複雑さを排除して、小さくコードを書いてエラー内容を確かめる行為は無駄のようにも思えますが、部分部分の動きを詳細に理解することができるので複雑な状況でのエラー調査でも、この知識や経験が活きてきます。エラーは1つずつ確実に潰す上でも書いたように、プログラムが大きくなるほど原因が複雑化していきます。エラーメッセージも延々と伸び、読むことすら大変になることも多々あることでしょう。それを一気にやっつけようと思えば思うほど、問題は混線していき今どの地点にいてどれを解決しようとしているのかを見失います。エラーの解消は、1つずつこれは、エラー対応の中での鉄則です。慣れてきたら、コードを追ってみる段々とエラーメッセージを調べることに慣れてきたら、コードを追ってプログラムの流れをチェックしましょう。プログラムの実際の動きを把握できれば、エラー箇所や原因の特定をしやすくなります!一番簡単な方法としては、コンソールへのログを各処理の最初や最後に記述することです。することで、実行順でログを出力させることが出来るので、処理順や流れを把握することができます。原因となりそうな変数の値を出力させたりするのも良いですね!また、各言語やIDEなどで、デバッグ機能が備わっていることが多いので、それらを使い「処理を途中で止めたり」して状態を確かめたりもできます。慣れてきたら、「予測」をしてみましょうエラーを追うことに慣れてきたら、エラーの原因の予測をしてみましょう。以下を予想が当たるまで繰り返します。原因の仮説エラーとなる場合と正常に動く場合を予想その予想が正しいか確かめるこれを繰り返すことで、自分の中でエラーの原因に対する感覚値的な部分が鍛えられます。言わずと知れた「Google」様です。エンジニアにとってなくてはならない存在でしょう。闇雲に検索してもなかなか良い情報が得られません。出てきた情報を鵜呑みにするのもよろしくないので、注意が必要です。検索!または、エラーコードで検索ただし、メッセージをコピペする際、固有名詞(例えばファイル名や独自のクラス名など)は省いて検索しましょう。その文字列にひきずられて、関係のない情報までヒットしてしまう可能性があるからです。使い方を高度にしていくと、「状況を表す単語を追加していく」ことで詳細に調べていくことができます。言う状況で該当のエラーが出たのかどう操作したときにエラーが出たのか最終的には、英語で検索これが最強の方法とは思います。情報発信の量と速さが日本語よりも段違いだからです。新しいサービスや機能の情報をたくさん引っ張りたい時などはかなり有効ですね。エラーの情報を検索し、解決策らしきコードを見つけたとしても、そのコードをそのまま何も考えずにマルッと利用することは避けましょう。それをすると、何も理解しないままコードが動いてしまう可能性がありなんの力にもならない上に、下手をするとプログラムのセキュリティ上の問題も起こりかねません。見つけた情報も自ら修正して、どう動くのか、どうして動くのか確認しながら導入しましょう。プログラミング用のサービスで質問をするQiita(キータ)やStackOverFlow(スタックオーバーフロー)などが有名どころですね。下手に、プログラミング専門でない質問版では質問をしない方が良いでしょう。真剣に回答してくれる方もいらっしゃるとは思いますが、荒れたり正しい回答が返ってこなかったりすることが多いです。質問をする際は、やはり最低限調査をした上で、どこまで理解できていて質問をしているのか回答者に伝わるように質問をしていきましょう。質問をする者は、教えを乞う立場であり、謙虚であるべきだと思います。お礼や状況の報告は忘れないようにしましょう。考え...learn-from-failure-is-life.com2020.11.01さいごにさて、ここまで、エラーメッセージとの向き合い方について書いてきました。初心者のうちはエラーメッセージが出て、辛いと思う方が大半だと思います。なんとなく赤字で出たりするし、自分のコードを否定されているような感覚に陥ることもありますよね。否定されているのではなくエラーメッセージという相棒が、間違っている箇所を教えてくれているんですね。エラーメッセージには様々な種類がありますが、どれも難しい言葉は使われていません。Google翻訳等に貼り付ければ、なんとなく内容は理解できますのでハードルが高いと思わず少しでも調査をしてみてください。エンジニアとして情報を拾う行動はかなり重要です。言語は、プログラミング言語よりも重要だったりします。検索するにしても、質問するにしても、説明するにしてもやはり言葉は大事です。エラーメッセージで躓いたことを、誰かに伝えてあげましょう。同じ悩みを抱えている人は世界に大勢いる可能性があります。解決していなくても情報を公開・交換でも他の人と協力して解決できる場合もあります。情報発信も大事ですね。以上、全てのことは、「自らやってみる!失敗してみる!」という一言につきます。成功できないのが、エンジニアの世界でもあるので、一歩一歩着実に失敗を乗り越えながら挑戦し続けていきましょう!では、また。考え...仕事エンジニアの僕がおすすめするエンジニア転職するならまず「カジュアル面談」をするべき理由!エンジニアへ転職する際に会社の情報がなくて、「どんな会社を選んだらいいのか」「どんな会社が自分の希望に合っているのか」わからないことは多々あることです。エンジニア未経験であれば尚更です。【プログラミング始めるならサブスクで!】業界初!サブスク型オンラインプログラミングスクールをエンジニアの僕が紹介!「プログラミングスクールは高い!」そう思う人は少なくないはず。「でも無料のプログラミング学習サイトは、続く気がしない」初めての方は特にそう思う方が多いですよね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホーム仕事スポンサーリンクグーグーと申します!しがないWebエンジニア、サラリーマンです。サーバーサイドメインで10年。現在は、サーバーサイド兼アプリエンジニアとして、とあるサービスのアプリチームを取り纏めています。人を楽しませたり、人生楽しく生きることがモットーなので読んでくださる皆様に元気を少しでも与えることができれば幸いです!埼玉の実家から、都内へ一人暮らしを始め、結婚してマンション購入で横浜へ引越し、さらにまた戸建てを都内で購入し住み替えして今に至ります@@テニス、ロードバイク、カメラ、資産運用やお金の勉強が今は趣味です。人生、楽しく失敗しよう!.メニュートップ人生・生活ライフハック仕事ブログお問い合わせホーム検索トップサイドバースポンサーリンクグーグーと申します!しがないWebエンジニア、サラリーマンです。サーバーサイドメインで10年。現在は、サーバーサイド兼アプリエンジニアとして、とあるサービスのアプリチームを取り纏めています。人を楽しませたり、人生楽しく生きることがモットーなので読んでくださる皆様に元気を少しでも与えることができれば幸いです!埼玉の実家から、都内へ一人暮らしを始め、結婚してマンション購入で横浜へ引越し、さらにまた戸建てを都内で購入し住み替えして今に至ります@@テニス、ロードバイク、カメラ、資産運用やお金の勉強が今は趣味です。必見!切れるソフトバンク光には市販ルーターを接続することをおすすめします!手順も紹介!2020.09.052020.11.14【マイホームで決断できない夫】にマイホーム購入を決断させる3つの方法!マンション・戸建てを購入した夫(僕)の経験2020.10.222021.02.12その積み上げ思考今すぐやめましょう!プログラマ・エンジニア転職を目指す方におすすめする論理的思考法2020.09.292020.12.16【IT系の彼が喜ぶプレゼント】エンジニア目線からおすすめするクリスマスプレゼント9選2020.10.022020.12.07インテリア好きの僕が選んだおすすめカウンターチェア7選!推奨テーブル高も教えます!2020.08.292020.09.16スポンサーリンクタイトルとURLをコピーしました。