Pythonでエラーメッセージを取得する方法を完全解説!Exceptionオブジェクトを初心者向けにやさしく説明
生徒
「Pythonでエラーが出たとき、英語のメッセージが表示されますが、あれは何を意味しているんですか?」
先生
「あれはPythonが教えてくれるエラーメッセージです。実はその内容をプログラムの中で受け取ることもできます。」
生徒
「エラーメッセージを自分で表示したり、確認したりできるんですか?」
先生
「できますよ。そのときに使うのがExceptionオブジェクトです。順番に見ていきましょう。」
1. Pythonのエラーメッセージとは?
Pythonでプログラムを実行すると、うまく動かないときに文字がたくさん表示されることがあります。これがエラーメッセージです。エラーメッセージは、Pythonからの「ここで困っています」という連絡のようなものです。
初心者の方には難しく見えますが、実は原因を説明してくれている親切な情報です。Pythonの例外処理では、このエラーメッセージを安全に受け取って表示することができます。
2. Exceptionオブジェクトの基本
Exceptionとは、「エラーの情報が入った箱」のような存在です。エラーが起きると、Pythonは自動的にExceptionオブジェクトを作ります。
この箱の中には、「どんなエラーが起きたのか」というメッセージが入っています。これを受け取ることで、エラー内容を文字として表示できます。
try:
number = 10 / 0
except Exception as e:
print(e)
division by zero
3. Exception as e の意味を理解しよう
except Exception as eという書き方は、初心者の方がつまずきやすいポイントです。これは「エラーの箱(Exception)をeという名前で受け取ります」という意味です。
eという名前は自由に変えられますが、短くて分かりやすいため、よく使われています。eの中には、エラーメッセージが文字として入っています。
try:
text = int("ねこ")
except Exception as error:
print("エラー内容は:", error)
エラー内容は: invalid literal for int() with base 10: 'ねこ'
4. エラーメッセージを日本語で伝える
Pythonのエラーメッセージは英語なので、初心者の方には分かりにくいことがあります。Exceptionオブジェクトを使えば、日本語の説明を添えることができます。
try:
value = int("りんご")
except Exception as e:
print("数字を入力してください")
print("詳細:", e)
数字を入力してください
詳細: invalid literal for int() with base 10: 'りんご'
このように書くことで、利用する人にも優しいPythonプログラムになります。
5. エラーメッセージはメモのようなもの
Exceptionオブジェクトに入っているエラーメッセージは、例えるなら失敗した理由を書いたメモです。プログラムが「なぜ止まったのか」を教えてくれます。
初心者のうちは、このメモをそのまま表示するだけで十分です。無理に理解しようとせず、「原因を知る手がかり」として使いましょう。
6. print以外でエラーメッセージを使う
Exceptionオブジェクトは、printで表示するだけでなく、文字として扱うこともできます。つまり、変数と同じように使えます。
try:
result = 5 / 0
except Exception as e:
message = str(e)
print("エラーが発生しました:", message)
エラーが発生しました: division by zero
str(e)は、「エラーメッセージを文字に変える」という意味です。
7. エラー内容を知るメリット
Pythonでエラーメッセージを取得できるようになると、プログラムがとても扱いやすくなります。原因が分かるため、直しやすくなり、同じ失敗を防げます。
特に例外処理とExceptionオブジェクトは、Pythonのエラー対策の基本です。初心者の方でも、「エラーは怖くないもの」と感じられるようになります。
8. 初心者が意識したいポイント
最初は、エラーメッセージの英語をすべて理解する必要はありません。Exceptionオブジェクトで内容を表示し、「どこで失敗したのか」を知ることが大切です。
Pythonの例外処理は、失敗を責める仕組みではなく、安心してプログラムを書くための支えです。Exceptionオブジェクトを使うことで、エラーと上手につきあえるようになります。