エラーが発生した時の対処法が知りたい。
このような疑問に現役エンジニアが答えます。
プログラミングをするにあたって、バグを避けては通れません。
そんなバグと付き合っていくためにバグの解決方法を5つ紹介します。
○この記事の内容
初めのうちは、全て試す必要はないので、できる範囲でエラーの解消法を試していただけたらと思います。
私は2021年4月時点で、エンジニア歴が1年以上となりますが、大抵のエラーはこの5つの方法で解決しています。
また、エラーが起きにくい、修正しやすいコードの書き方も紹介しているので、そちらも参考にしていただければと思います。
<スポンサーリンク>
エラーの解決方法
その①:エラーコードを解読する
エラーコードには基本的に英文でエラーの原因の概要が簡潔に記載されています。
その文を解読することで、エラーの原因がわかります。
英語に自信がない方はgoogle翻訳を使って解読しましょう。
また、エラーコードにはエラーが発生している処理があるファイルと行目が記載されています。
その記述を参考に、エラーがおきている処理を見直しましょう。
・次のエラーを例に見てみましょう。
Index 3 out of bounds for length 2 at Project1/sample.Sample001.main(Sample001.java:15)
このエラーのIndex 3 out of bounds for length 2
の部分の英語を翻訳すると、インデックス3が長さ2の範囲外となります。
範囲外のインデックスを指定したために発生したエラーだということがわかります。
また、エラーコードの、Project1/sample.Sample001.main(Sample001.java:15)
より、Project1フォルダのsampleフォルダ内のSample001.javaというファイルの15行目で発生したエラーだということがわかります。
このように、エラーコード英文を解読することによってエラーの内容と箇所が分かり、エラーの解決に繋がります。
その②:エラーコードを検索する
エラーコードのメインの部分をそのまま検索してみましょう。
エラーコードメイン部分はエラーの固有名になります。
エラーをそのまま検索すると、公式ドキュメントや、質問サイトが出て来ることが多いです。
それらのサイトに記載された解決法やコードを参考に、コードを修正していきましょう。
例えば、先ほどのエラーですと、java.lang.ArrayIndexOutOfBoundsException
で検索します。
検索結果は英語のサイトの場合が多いので、そういったときはgoogle翻訳を駆使して、解読していきましょう。
その③:デバッグを行う
デバッグツールを使って、デバッグを行いましょう。
デバッグとは、処理を一つずつ手動で進めながら実行して不具合を探す方法です。
デバッグによって、処理の最中の値やプログラムがたどってる処理のルートが明らかになるので、どこでどういった不具合が起きているかがあらわになります。
開発ツールにデバッグ機能は備わっていることが多いです。使用してる開発ツールでのデバッグのやり方を調べてデバッグをやってみましょう。
その④:質問サイトに投稿する
自分の力ではどうにもならなさそうなときは、質問サイトに投稿して、有識者からのアドバイスをもらいましょう。
定番な質問サイトは以下の2つです。
個人的にはstackocerflowの英語版よく参考にしています。
英語版だと、利用者も多く活発に情報交換が行われています。
質問サイトを使うことの最大のメリットは自分のソースコードに対応した解決策が返ってくることです。
しかし、質問に不備があると、答える側も対応できないので、質問内容をしっかりとするよう注意しましょう。次の項目があると答える側は助かります。
- 求めている結果
- 現状の動作
- 出ているエラーコード
- 問題となっているソースコード
- 開発環境
その⑤:気分転換をする
一つのエラーにつきっきりになると、考えが凝り固まり、視野が狭くなっていきます。
なので、一旦エラーのことは忘れて、気分転換をしましょう。
リフレッシュした状態でエラーに臨むとすんなり解決できたりします。
エラーの解決を簡単にするコードの作成方法
エラーを解決するのも大切ですが、日頃からエラーが発生しづらいコード、エラーを解決しやすいコードを書くことが大切です。
そんなコードを作成するにあたって大切なポイントを紹介します。
その①:可読性の高いコードを書く
コードが見やすく、分かりやすいものだと、エラーの発見や修正がとても楽になります。
なので、可読性の高いコードを書くことを心がけましょう。
複雑な処理とコードを書けるようになることが高いレベルのプログラマーと思われがちですが、正直、可読性の高いコードを書けるエンジニアの方が重宝されます。
変数や処理にしっかりとコメントをつけて、どこで何をしているのかが誰が見てもわかるようにしてあることが理想です。
その②:こまめに実行する
複数のエラーが重なるとエラーの対処が大変になります。
エラーの解決を簡単にするには、発生するエラーを少なくする工夫が必要です。
なので、処理を追加するごとにコードを実行しましょう。
こまめに実行することで、エラーが出た場合、新しく追加した処理で不具合が生じてるかが分かります。
修正にフォーカスするコードの箇所が限定されるので、エラーの対処が楽になります。
動作確認時でコンソールのログに、途中経過の値や、処理が正しく通ったかを表示させておくと自分が求めていた処理になってるか確かめやすくなります。
<スポンサーリンク>
まとめ
初心者だろうと上級者だろうと関係なく、プログラミングをしていたらエラーに直面します。
初心者のうちからエラーの解決法を駆使して、多くのエラーを解決し、エラーに慣れていきましょう。
また、エラーの対処がしやすいコードの作成を心がけていきましょう。
エラーを制すると、プログラミングスキルが飛躍的に向上していきます。