エラーになった時に「〇〇というエラーが出ました」と報告するだけでなく、
自分で解決できるようにするのが大切だと思っています。
誰もがエラーに遭遇する
趣味や仕事でプログラミングをしていて、エラーになったことが無い、なんて人は1人もいません。
どんなに優秀なプログラマやエンジニアでもエラーに遭遇します。
エラーの種類
エラーメッセージとの付き合い方の前に、そもそもどんなエラーがあるかをまとめて見ようと思います。
大きく、エラーの種類は3種類あります。
- コンパイルエラー
- 実行時エラー
- 論理エラー
1.コンパイルエラー
ざっくり言うと、文法エラーです。
例えば、
- 未定義の変数を使ってる
- 構文や関数の書き方が間違っている
ときに発生します。
2.実行時エラー
プログラムが強制終了します。
「文法上は正しいのに実行できない」とはどんな状態でしょうか?
例えば、要素数3の配列に対し、4つ目の要素を指定した場合などです。
Pythonでは、list index out of range
となります。
3.論理エラー
「強制終了することはないが、期待した結果と異なる」というパターンです。
動作はするので、正常に動いているように見えますが、
どこかの処理で計算などを間違えている時に発生します。
論理エラーの解消は得意な人が多い
3の論理エラーについては、プログラムを書くことができる人であれば、処理を追いつつ、怪しい箇所を特定できると思います。
なので、今回は、主に1と2のエラーについて付き合うときのコツをまとめてみたいと思います。
前提:エラーメッセージはヒント
英語で大量のメッセージが表示され、面食らってしまうかもしれないですが、
エラーメッセージには、エラーを解消するためのヒントが書いてあります。
エラーメッセージの内訳
- エラー原因
- 関連情報
下記のPythonファイルを実行した場合、
sample_list = [1, 2, 3]
print(sample_list[3])
下記のエラーになります。
Traceback (most recent call last):
File "Main.py", line 4, in <module> # 関連情報
print(sample_list[3])
IndexError: list index out of range # エラー原因
関連情報には、エラーの原因になっているファイル名や該当箇所(変数名、行数)が書いてあることが多いです。
また、プログラムによっては、エラーコードが書いてあることもあります。
エラーメッセージを読むときのコツ
1. しっかり読む
エラー文を読みましょう。
「〇〇」というエラーが出ました、と報告する人は、エラーを読んでいません。
英語の意味が分からない時は、google翻訳を使いましょう。
2. 複数のエラーが出た場合は、先に表示されたエラーから解決する
最初に出たエラーが原因となって、後続のエラーが出ているケースがあります。
3. エラー内容が書かれた一文を特定する
上記のサンプルで言うと、下記の部分が該当します。
IndexError: list index out of range
エラーメッセージについて調べるときのコツ
検索ワード1 エラー文
コツとして紹介した「3. エラー内容が書かれた一文を特定する」で特定したエラー文をそのまま使い検索する。
検索ワード2 エラーコード
エラーメッセージの関連情報として、エラーコードが出ている場合、それも検索ワードに使いましょう。
関連情報である、ファイル名や行数は含めない
当たり前ですが、環境固有の情報を検索ワードに使っても欲しい情報は得られません。
コンテキストを特定するワードを入れる
- Pythonのプログラムであれば、「Python」
- JavaScriptのプログラムであれば「JavaScript」や「js」
- aws関連であれば、「aws」や具体的なサービス名
を入れてください。
その他
再度、ドキュメントを確認するのも大事です。
まとめ
エラーが出た際は、「成長のチャンス」として捉え、
知識・経験を積むきっかけにしてもらえたら幸いです。
弊社では未経験からエンジニアになった方が活躍している会社です。
未経験者の新卒・中途採用も実施していますので、ご興味ある方はこちらより。