【プログラミング学習】初心者の方向け、エラー解決のヒント
プログラミング学習を始めて避けて通れないのが「エラー」です。
エラーを解決できないと勉強が思うように進まないですし、ここでプログラミングを諦めてしまった、、という話も聞きます。
私自身もプログラミングを始めたばかりの頃は、たった1行のミスに6時間費やした経験があります。何が原因かさっぱりわからず、開発環境をゼロからインストールし直したこともありました。
もちろん今でもエラーが出ることはありますが、時間をかけずに原因を見つけることができるようになりました。
今回はプログラミングを始めたばかりの方に「どのようにエラーを解決するかのヒント」を3つ紹介したいと思います。
エラー解決にお困りの時に参考にしてみてください。
エラー解決のヒント
1. エラー発生場所の前後を確認
開発環境にもよりますが、多くの場合エラーメッセージは Error: xxxxxxxx on line 15 のように行数が表示されます。
まずは、この行の前後のコードを確認していきます。
- スペルミスがないか
- メソッド・関数を正しく使っているか(関数名、引数の型など)
- 変数を定義しているか
- if 文やループの 括弧{}を閉じ忘れていないか
- 余計なスペース(空白)が入っていないか
- 全角文字が混じっていないか
「on line 15」と行数が表示されていても、必ずそこでエラーが起きているとは限りません。前後のコードも忘れずに確認してください。
関数は公式ドキュメントで関数名・型・引数を正しく記述しているかを確認します。
クォーテーションマークの全角・半角の間違いもよくあるエラーの原因です。
$test = '正しいシングルクォーテーション';
$test = "正しいダブルクォーテーション";
$test = ’間違ったシングルクォーテーション’;
$test = “間違ったダブルクォーテーション“;
2. エラーメッセージをグーグル検索
2つ目はエラーメッセージをグーグル検索する方法です。
複雑なコードを書くようになると変わりますが、プログラミング初心者の方に起きやすいエラーはグーグル検索で9割は解決できると個人的には思います。
エラーメッセージを検索するだけですが、検索キーワードから除外したほうが良いワードがあります。
- 開発環境のパス・ユーザー名
- 自分で設定したプロジェクト名やファイル名
- エラーが出ている行数
- 日本語
① 開発環境のパス・ユーザー名
/Applications/MAMP/htdocs/ や C:¥Users¥test¥AndroidStudioProjects など開発環境のパスは人それぞれなので、検索ワードには含めないほうが無難です。
特にユーザー名はエラーには関係ないので、検索ワードからは外しましょう。
② 自分で設定したプロジェクト名やファイル名
自分で決めたプロジェクト名やファイル名もエラーには関係ないので、検索ワードからは外します。
ただしプラグインやフレームワークなど自分で書いていないコードでエラーが出た場合は、ファイル名と行数も含めて検索します。
これは他の人にも同じエラーが出ている可能性が高く、公式サイトの掲示板などで解決されていることが多いからです。
③ エラーが出ている行数
何行目でエラーがでるかは自分のプロジェクト次第なので検索ワードには含めません。
ただし②と同じように、自分で書いていないプラグインなどでエラーが出ている場合は行数も含めて検索します。
④ 日本語
エラーメッセージに日本語が表示されることはあまり無いと思いますが「エラー / 解決 / 方法」などの日本語キーワードを追加しないようにします。
プログラミングに関する情報は英語のほうが圧倒的に多いため、なるべく多くの検索結果が表示されるようにするためです。
日本語を含めずに検索するだけで検索結果の件数が約100倍になることもよくあります。
日本語を含めずに検索しても上位には日本語の記事が優先して表示されることが多いので、英語を読みたくない方もまずは英語だけで検索してみて下さい。
エラーの例
例えばこのようなエラーが出たとします。
Error: xxxxxxxxxxx in /Applications/MAMP/htdocs/myproject/test.php on line 15
以下は直接エラーに関係している可能性が低いので、検索キーワードから除外します。
パス | /Applications/MAMP/htdocs/ |
プロジェクト名 | myproject |
ファイル名 | test.php |
行数 | line 15 |
この例の場合は Error xxxxxxxxxxx というキーワードだけで Google 検索します。
検索結果が多すぎたり、関係ないプログラミング言語に関するものが含まれている場合は、開発環境(OS, ブラウザ名, XAMPP, MAMP など)やプログラミング言語(php, java, kotlin, android など)をキーワードに追加して再検索します。
検索結果が表示されたら、上位3〜5件は目を通しましょう。
- 上位に表示されているからといって解決できているとは限らない
- なるべく日付が新しいものを参考にする
という点に注意して解決法を探してみてください。
3. 最終手段
最後に紹介するのはコードを全てコメントアウトして1行ずつ確認していくという方法です。
あまり効率の良い方法ではありませんが
- いつ、どこでエラーが出ているのか全く分からない
- ログを開いてもどこを読めば良いか分からない
という方にオススメの方法です。
例えば以下のコードのどこでエラーが起きているのか分からないとします。
エラーが出ていると考えられる箇所を全てコメントアウトして、その後1行ずつコメントアウトを外してプログラムを実行していきます。
少し時間はかかりますが、エラーの発生箇所を必ず見つけることができる方法です。
どうしても原因かわからない場合にお試しください。
まとめ
エラーを出さずに開発できるのが一番ですが、どんなに経験を積んでもエラーはプログラミングとは切り離せないものです。
とにかくエラーは自分で解決すればするほど早く解決できるようになります。
特にプログラミングを始めたばかりの頃は、人に聞きたくなってしまうかもしれませんが
- まずは自分で数時間考えてみる
- とりあえず1日寝かせて後で考える
ことをオススメします。
時間を空けてから見直してみると案外あっさり解決できてしまうこともよくあります。
最初は大変に感じるかもしれませんが、プログラミングのエラーはクイズやパズルのようなものです。
ぜひ楽しんで挑戦してみてください!