【こうぶんえらー】
構文エラー とは?
公開:
💡 コードの「文の組み立て」が合っていないサイン
コードが言語の文法規則に合わず、正しく解析できないエラーです。括弧や記号の不足などが原因になります。
📌 このページのポイント
- 括弧や区切り記号の不足など、言語の文法に合わない書き方で起こる
- エラーが示す位置と、実際に直す必要がある位置は同じとは限らない
- 構文が正しくても、実行中に別のエラーが起こることはある
構文エラーって、計算の答えを間違えたということ?
まずはコードの書き方が文法に合わないという意味だよ。例えばPythonで閉じ括弧を忘れた「print(1 + 2」は、そのままでは正しく解析できないんだ。
括弧を足せば直るの?
この例は「print(1 + 2)」に直せば3と表示できるよ。ただし、ほかのエラーも全部なくなるという意味ではないんだ。
エラーの矢印が指している所だけを直せばいいの?
そこは問題を検出した位置で、原因の位置とは限らないよ。例えばPythonで必要なコロンが抜けると、その後の単語で検出されることもある。ファイル名・行番号と、前後のコードを見よう。
文法が合っていても止まることがあるの?
あるよ。Pythonの「1 / 0」は文法には合うけれど、実行するとゼロで割るエラーになる。構文の問題と、実際の計算などで起こる問題は分けて調べるんだ。
もっと詳しく知りたい人へ
構文エラーはプログラムを起動する前にしか起こらない?
起動前だけとは限らないよ。Pythonでは実行中にimportで別のコードを読み込んだり、execやevalで文字列をコードとして解析したりする際にもSyntaxErrorが起こりうる。時計の上でいつ起きたかだけでなく、解析対象のコードが文法に合うかという問題として区別しよう。
まとめ:ざっくりこれだけ覚えればOK!
「構文エラー」って出てきたら「コードの書き方が文法に合っていないサイン」と思えばだいたいOK!
📖 おまけ:英語の意味
「Syntax Error」 = 構文の誤り
💬 syntaxは文の組み立て、errorは誤りという意味で、コードの文法上の問題を表す言葉だよ。