そもそも構文エラーや例外とは?
プログラミングを勉強していくと、うまく動作しないこともよくあると思います。
例えば、関数などの引数のデータ型が間違っていたりした時にコンパイラに怒られたことがあると思います。
この構文エラーや例外というのは、プログラムを正常に動かすためには必ず取り除かないといけなません。
今回はその構文エラーや例外について解説していきます。
構文エラーについて
構文エラーとは構文解析エラー (parsing error) としても世間に知られています。
Python を勉強している間に最もよく直面する問題の一つだと思います。
例えばこんなコードを書いたとします。
# "Hello"と表示させようとしてみる
print(Hello')
これを実行してみると、「SyntaxError」というエラーが出ると思います。
このエラーが構文エラーということですね、この例文ではprint関数内の文字列に最初のシングルコーテーションが抜けているために構文エラーがでています。
このようにコーディングミスでのエラーを紹介しました。
次に「例外」について紹介します。
例外について
先ほど説明したように、文や式が構文的に正しくかけて構文エラーがなくても、実行しようとしたときにエラーが発生する可能性があります。
実行中に検出されたエラーのことを「例外 (exception)」と呼びます。
これから、Pythonを学習する中で例外をどのように扱って対応していくかがとても重要になってくるのでしっかりと基本を押さえておきましょう。
例外の処理の仕方
さて、ここでは例外の処理についてみていきます。
「例外はいけないといっても、人はミスをするものであり、どんなにベテランのプログラマでも例外を起こしてしまうことはあります。」
「じゃあしょうがないってことですか?」
「そうなんですが、その例外が発生してもそれを補足して処理できればアプリが強制終了する心配もないので、その方法を習得しましょう!」
まずはこのサンプルコードを見てください。
try:
a = 10 / 0
print("{0}".format(a))
except ZeroDivisionError:
print("ZeroDivisionError!!")
このように例外が発生する可能性のあるコードを「 try: 」で括ります。
そしてもし例外が発生したときに、させたい処理を「 except 例外の種類 : 」で括ります。
「例外の種類」は適切なものを記述する必要があるので注意してください。
例えばこのサンプルプログラムではZeroDivisionError(=ゼロ除算例外)を補足しようとしていますが、これがもし違う例外を補足しようとすると上記のゼロ除算例外は取れなくなってしまいます。
「なので、自分の書いたプログラムで例外を補足しようとする時はどんな例外が発生する可能性があるのかをある程度考える必要がありますね。」
まとめ
今回は、構文エラーや例外について解説しました。
エラーや例外はプログラミングをしていく中ではつきものになってくるので、自分のものにして扱えるようにしていきましょう!