<一覧に戻る

Pythonの例外処理とは?

プログラミングを学び始めると、必ずといっていいほど遭遇するのが「エラー」です。

例えば、ちょっとしたタイプミスや、思わぬデータの入力などによって、プログラムが突然止まってしまった経験はありませんか? こうした予期しないエラーが発生したときに、そのままプログラムが終了してしまうと、とても不便ですし、ユーザーにとっても使いにくいアプリケーションになってしまいます。

Pythonには、こうした問題を解決するための便利な仕組みとして「例外処理(Exception Handling)」が用意されています。

例外処理を使えば、エラーが発生してもプログラム全体が止まることを防ぎ、代わりに適切な対応を取ることができます。 これによって、アプリケーションの安定性が向上し、ユーザーにとっても安心して利用できるプログラムに仕上げることができます。

例外とは何か?

では、そもそも「例外」とは何でしょうか。
例外とは、プログラムの実行中に発生する異常な状態 のことを指します。

例えば、次のようなケースが代表的です。

  • 数値を0で割ろうとしたとき
  • リストや配列の存在しないインデックスにアクセスしたとき
  • 関数に渡したデータ型が想定と違っていたとき

これらの状況になると、Pythonは「正常に処理できない」と判断し、通常の処理の流れを中断してエラーメッセージを表示します。
しかし、エラーが発生するたびにプログラムが停止してしまっては実用的ではありません。

そこで活躍するのが「例外処理」です。

これを使うことで、エラーをキャッチし、事前に準備しておいた処理(たとえば、ユーザーにわかりやすいエラーメッセージを表示するなど)を行うことができます。

例外処理の基本構造

Pythonで例外処理を行うときは、tryexcept というキーワードを使います。

基本的な流れはとてもシンプルです。

  1. try ブロックに「通常の処理」を書く
  2. もしエラーが発生したら、そのエラーに応じた except ブロックが実行される

実際のサンプルコードを見てみましょう。

try:
    # ここに通常の処理を記述
    result = 10 / 0  # 0で割り算を試みる
except ZeroDivisionError:
    # エラーが発生した場合の処理
    print("エラー: 0で割り算を行うことはできません。")

このコードでは、まず try ブロックの中で 10 / 0 を計算しようとしています。 数学的に「ゼロで割り算をする」ことは不可能なので、この行を実行するとPythonは"ZeroDivisionError"というエラーを発生させます。

通常であればここでプログラムが強制終了してしまいますが、今回はexcept ZeroDivisionError:が用意されているため、プログラムは停止せずにその部分へ処理が移ります。

そして print("エラー: 0で割り算を行うことはできません。") が実行され、ユーザーに対してわかりやすいエラーメッセージが表示されるのです。

つまり、「エラーが起きる可能性がある処理をtryに書き、そのエラーが起きたときにどうするかをexceptに書く」というのが例外処理の基本的な仕組みなのです。 これによってプログラムは途中で止まることなく、スムーズにエラーを処理できます。

まとめ

例外処理は、Pythonプログラミングを行う上で欠かせない技術です。 これを使うことで、エラーが発生してもプログラムを継続して動かすことができ、ユーザーにとっても安心できる動作を提供できます。

特に実務的なアプリケーション開発では、ファイルの読み込みや外部APIとの通信など、エラーが発生する可能性の高い処理がたくさんあります。 そのたびにプログラムが止まってしまうのでは困りますよね。

例外処理をしっかりと理解し、適切に使いこなすことで、安定したプログラムを作ることができます。次のステップでは、tryexcept の応用方法や、finallyelse といった追加の構文についても学んでいきましょう。そうすることで、さらに実践的なエラーハンドリングが可能になります。

一覧に戻る

出力結果: