# プログラミングでエラーが出たとき

# まずは自分の力で原因を突き止めよう

お手本通りにソースコードを書いているはずなのに、プログラムが動かないことはよくあります。
その多くの場合、9割ほどは下のいずれかに当たってエラーが出ています。

  • スペルミスをしていないか。
  • 大文字小文字を間違えていないか。
  • 半角で書くべきところを全角で書いていないか。
  • 閉じ括弧を書いているか。
  • セミコロンがあるか。
  • 編集内容を保存しているか。

小中高大生にプログラミング教育をしてきて分かったこと - Qiita (opens new window) より一部引用)

それでもわからないときは、もう一度打ち直すのも手だと思います。
ここまで書いたソースコードをまた打つのか・・・という気持ちがありますが、このやり方は悪くないと思います。
私がプログラミングを学び始めた高校時代は、結構これをしていました。

# エラーを読んでわからないのは、当たり前

プログラミングの経験者に「エラーを読んで理解してくれ」とアドバイスされることがあります。
これはエラーを解決するために間違っていませんが、初心者にエラーを読ませるのはまだしも、それを完全に理解しろという意見には同意できません。

ただし、エラーは解決のためのヒントになります。 例えば、下のようなエラーが出たとき、どうすれば良いか?

PHP Parse error:  syntax error, unexpected 'echo' (T_ECHO), expecting ';' or ',' in /mnt/c/Users/matsuda/code/php/test/kadai4.php on line 7

on line 7 と出ているので、7行目付近の構文が合っていないと考えます。
ソースコードを見てみましょう。

<?php

// 1から100までの間で5の倍数を表示する
for($i = 1; $i <= 100; $i++){
  if($i % 5 == 0){
    echo $i
    echo PHP_EOL;
  }
}

?>

ソースコードを見ると、6行目にセミコロンがありません。
セミコロンをつけると問題なく動作します。
エラーを見ると7行目の構文が間違えているような表示ですが、今回は6行目に誤りがありました。
このように、エラーによってはどこの行の近くで間違っているか、察することができます。

# 教材が間違っている可能性がある

稀ですが、本やサービスのページに書いてあることが間違っていることもあり得ます。
どうしても、この可能性が否めないと感じたとき、本の場合は出版元のウェブサイトに正誤表が掲載されているので、それを確認しましょう。 これは自分の経験上ですが、1冊に1箇所程度は間違っています。
特に初版のときは要注意です。

# おわりに

以上、プログラミングでエラーが出たときについてどのようにすれば良いかまとめました。
これはあくまで、エラーが出たときの話です。
エラーは出ないが自分が意図する動作にならない、ということもあります。
それについては気が向いたら書きます。

最終更新: 2020年6月1日

Copyright (c) 2019 Matsuda Atsushi