最終更新
リンドくん
たなべ先生、Pythonでプログラムを書いていると、時々エラーが出て止まっちゃうんです。どうすればいいんでしょうか?
たなべ
いい質問だね!それこそ今日学ぶ例外処理の出番なんだ。
プログラムは必ずエラーが起きるものだから、上手にエラーを処理する方法を覚えることが大切なんだよ。
プログラミングを学んでいると、必ず遭遇するのが「エラー」です。
ファイルが見つからない、数値ではない文字を計算しようとした、ネットワークに接続できない...など、様々な理由でプログラムは予期しない状況に直面します。
こうした問題を解決するのが例外処理という仕組みです。
Pythonではtry
、except
、finally
というキーワードを使って、エラーが発生した時の対処法を事前に準備しておくことができます。
この記事では、Python初心者の方でもわかりやすいように、例外処理の基本概念から実践的な使い方まで、段階的に解説していきます。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
リンドくん
例外処理って、具体的には何をするものなんですか?
たなべ
簡単に言うと、「もしエラーが起きたらこうしてね」という指示をプログラムに与えることなんだ。
例えば、ファイルが見つからなかった時に「エラーメッセージを表示する」とか「別の処理をする」とか決めておくんだよ。
例外処理とは、プログラム実行中に発生する予期しないエラーに対して、適切な対処法を事前に定義しておく仕組みです。
これにより、エラーが発生してもプログラムが突然停止することなく、適切な処理を継続できるようになります。
例外処理がない場合、以下のような問題が発生します。
実際のプログラム開発では、以下のような予期しない状況が頻繁に発生します。
このコードは、ユーザーが「0」や「abc」などを入力すると、エラーで停止してしまいます。しかし、例外処理を使うことで、こうした問題を事前に対処できるのです。
例外処理の基本的な流れは以下のようになります。
この仕組みにより、プログラムはより安全で予測可能な動作をするようになります。
リンドくん
tryって、どうやって使うんですか?
たなべ
try
は「この処理を試してみて」という意味なんだ。
もしエラーが起きたら、自動的にexcept
の方に処理が移るんだよ。
Pythonの例外処理の最も基本的な形は以下のようになります。
数値の入力を受け取る簡単な例を見てみましょう。
この例では、以下のような流れで処理が行われます。
ファイルの読み込みでの例外処理は以下です。
この方法により、ファイルが存在しない場合でもプログラムがクラッシュすることなく、適切なメッセージを表示できます。
リンドくん
except文では、エラーの種類によって違う処理ができるんですか?
たなべ
その通り!エラーの種類ごとに異なる対処法を設定できるんだ。
これによって、より親切で分かりやすいエラーメッセージを表示できるよ。
Pythonでは、発生するエラーの種類に応じて異なる処理を行うことができます。
Pythonでよく発生する例外の種類は以下の通りです。
複数の例外を同時に処理したい場合は、タプルを使用します。
例外が発生した際に、詳細な情報を取得することも可能です。
この方法により、エラーの詳細な内容をユーザーや開発者に伝えることができます。
リンドくん
finallyって何のために使うんですか?
たなべ
finally
は「エラーが起きても起きなくても、必ず実行したい処理」を書く場所なんだ。
ファイルを閉じたり、データベース接続を切断したりする時によく使うよ。
finally
文は、try
文内でエラーが発生してもしなくても、必ず実行される処理を記述するために使用します。
これは特にリソースのクリーンアップ(ファイルを閉じる、ネットワーク接続を切断するなど)において重要な役割を果たします。
finally
文が特に重要になるのは以下のような場面です。
あまり知られていませんが、try
文にはelse
文も使用できます。
else
文はエラーが発生しなかった場合のみ実行される処理を記述します。
リンドくん
例外処理を使う時に気をつけるべきことはありますか?
たなべ
いい質問だね!例外処理にも正しい使い方があるんだ。
適切に使わないと、かえってバグを見つけにくくなったりするから注意が必要なんだよ。
独自の例外クラスを作成することで、より意味のあるエラー処理が可能になります。
リンドくん
例外処理って、最初は難しそうでしたけど、意外と理解できました!
たなべ
その調子だね!例外処理はプログラムを安全にする重要な技術なんだ。
最初は基本的な使い方から始めて、徐々に複雑な処理にも挑戦してみてね。
Pythonの例外処理は、エラーが発生しても適切に対処できる堅牢なプログラムを作るための重要な仕組みです。
try
、except
、finally
の基本的な使い方から、具体的なエラー種別の処理、ベストプラクティスまで学習してきました。
重要なポイントのおさらい
例外処理を適切に使うことで、ユーザーにとって親切なプログラムを作ることができます。
エラーが発生した時に突然停止するのではなく、分かりやすいメッセージを表示したり、代替処理を実行したりできるようになります。