Pythonの例外処理(try-except)を完全解説!初心者でもわかるエラー対策の基本
生徒
「Pythonを動かしたら、英語のエラーメッセージがたくさん出て止まってしまいました。これは何ですか?」
先生
「それはPythonの例外と呼ばれる仕組みです。プログラムが困ってしまったときに出す合図のようなものですね。」
生徒
「エラーが出ると怖いのですが、止まらないようにできますか?」
先生
「できますよ。Pythonにはtry-exceptという例外処理が用意されています。これを使えば、エラーが起きても落ち着いて対応できます。」
1. Pythonの例外処理とは?
Pythonの例外処理とは、プログラムの実行中に予期しないトラブルが起きたときに、強制終了せず安全に処理を続けるための仕組みです。たとえば、電卓で割り算をするときに0で割ろうとすると計算できません。このような状況をPythonでは例外(エラー)と呼びます。
例外処理を入れていないと、プログラムは途中で止まってしまいます。初心者の方ほど、このエラーでつまずきやすいため、Pythonの例外処理の基本を早めに知っておくことが大切です。
2. try-exceptの基本的な書き方
Pythonの例外処理は、tryとexceptを使って書きます。tryには「問題が起きそうな処理」、exceptには「問題が起きたときの対応」を書きます。
try:
result = 10 / 0
print(result)
except:
print("エラーが発生しました")
この例では、0で割る計算が行われるためエラーになります。しかし、try-exceptを書いているので、プログラムは止まらずメッセージを表示します。
エラーが発生しました
3. 例外は「転んだときの保険」
例外処理は、日常生活でいうと転んだときの保険のようなものです。道を歩くとき、必ず転ぶわけではありませんが、もし転んでも大けがをしないように備えます。Pythonのtry-exceptも同じで、「もし失敗しても大丈夫なように」準備する仕組みです。
プログラミング未経験の方は、「エラーを出さないこと」よりも「エラーが出ても慌てないこと」を意識すると、Python学習が楽になります。
4. よくある例外のパターン
Pythonの例外処理でよく登場するのが、数字の変換ミスです。たとえば、文字を数字に変えようとするとエラーになります。
try:
number = int("りんご")
print(number)
except:
print("数字に変換できませんでした")
数字に変換できませんでした
このように、ユーザーの入力ミスなど起こりやすいエラーをtry-exceptで守ることで、安心して使えるプログラムになります。
5. exceptでエラー内容を知る
exceptでは、エラーの内容を受け取ることもできます。これにより、何が起きたのかを画面に表示できます。
try:
value = 5 / 0
except Exception as e:
print("エラー内容:", e)
エラー内容: division by zero
Exceptionは「エラー全般」を表す言葉です。英語ですが、「例外の箱」のように覚えておくと理解しやすいです。
6. elseを使った安全な処理
try-exceptには、elseを追加できます。elseは「エラーが起きなかったときだけ実行される処理」です。
try:
result = 10 / 2
except:
print("計算に失敗しました")
else:
print("計算結果は", result)
計算結果は 5.0
この書き方を使うと、「成功した場合」と「失敗した場合」をはっきり分けて書けるため、読みやすいPythonコードになります。
7. finallyで必ず実行する処理
finallyは、エラーの有無に関係なく必ず実行される処理です。後片付けのような役割があります。
try:
print("処理を開始します")
result = 10 / 0
except:
print("エラーが起きました")
finally:
print("処理を終了します")
処理を開始します
エラーが起きました
処理を終了します
finallyは、「最後に必ずやること」と覚えると、Pythonの例外処理が理解しやすくなります。
8. 例外処理を書くときの考え方
Pythonの例外処理は、すべての行に書く必要はありません。失敗する可能性がある場所にだけ書くのがポイントです。これにより、コードが読みやすくなり、修正もしやすくなります。
try-exceptを使うことで、「エラーが出ても安心して動くPythonプログラム」を作れるようになります。初心者の方は、まず基本の形をしっかり覚えることが大切です。