# プログラミングでエラーが出たとき
# まずは自分の力で原因を突き止めよう
お手本通りにソースコードを書いているはずなのに、プログラムが動かないことはよくあります。
その多くの場合、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箇所程度は間違っています。
特に初版のときは要注意です。
# おわりに
以上、プログラミングでエラーが出たときについてどのようにすれば良いかまとめました。
これはあくまで、エラーが出たときの話です。
エラーは出ないが自分が意図する動作にならない、ということもあります。
それについては気が向いたら書きます。