Python例外処理入門:try-exceptの基本をわかりやすく解説

Python例外処理入門:try-exceptの基本をわかりやすく解説

Pythonでプログラムを作成していると、様々なエラーに遭遇する場面があります。例えば、ファイルが存在しない場合や、不正なデータが入力された場合などです。このようなエラーを適切に処理しないと、プログラムが停止してしまうことがあります。

そこで役立つのが例外処理です。例外処理とは、プログラム実行中に発生したエラーを捕捉し、適切な処理を行う仕組みのことです。Pythonでは、tryexceptというキーワードを使って例外処理を実装することができます。

例外処理とは?

例外処理とは、プログラムの実行中に発生する予期せぬエラーをキャッチして、プログラムが正常に動作し続けられるようにするための仕組みです。

例えば、ファイルを読み込む処理でファイルが存在しない場合、プログラムはエラーを起こして停止してしまいます。しかし、例外処理を使用すれば、ファイルが存在しない場合にエラーをキャッチし、適切なメッセージを表示したり、別の処理を実行したりすることができます。

例外処理の基本:try-exceptの使い方

tryexceptを使って例外処理を行う基本的な構文は次のとおりです。

try:
  # エラーが発生する可能性のあるコード
except Exception:
  # エラーが発生した場合に実行されるコード
  • tryブロックには、エラーが発生する可能性のあるコードを記述します。
  • exceptブロックには、tryブロックでエラーが発生した場合に実行されるコードを記述します。
  • Exceptionは、すべての例外をキャッチする汎用的な例外クラスです。

例:ファイル読み込みの例外処理

try:
  f = open("sample.txt", "r")
  data = f.read()
  print(data)
except FileNotFoundError:
  print("ファイルが見つかりませんでした。")

このコードでは、sample.txtというファイルを読み込もうとしています。ファイルが存在しない場合は、FileNotFoundErrorが発生し、exceptブロック内のメッセージが表示されます。

例外処理の分岐:特定の例外をキャッチする

exceptブロックでは、特定の例外をキャッチすることもできます。これにより、発生したエラーの種類に応じて適切な処理を実行することができます。

try:
  # エラーが発生する可能性のあるコード
except TypeError:
  # TypeErrorが発生した場合に実行されるコード
except ValueError:
  # ValueErrorが発生した場合に実行されるコード
except Exception:
  # その他の例外が発生した場合に実行されるコード

例:数値入力の例外処理

try:
  num = int(input("整数を入力してください: "))
  print(num * 2)
except ValueError:
  print("整数を入力してください。")

このコードでは、ユーザーから入力された値を整数に変換しようとしています。入力された値が整数でない場合は、ValueErrorが発生し、exceptブロック内のメッセージが表示されます。

実用的な例外処理の活用例

例外処理は、プログラムの安定性を高めるために非常に重要です。以下は、例外処理を実際に活用できる例です。

  • ファイル操作: ファイルが存在しない場合、読み込み/書き込みに失敗した場合などのエラーをキャッチします。
  • ネットワーク通信: 接続が切断された場合、サーバーが応答しない場合などのエラーをキャッチします。
  • データベース操作: データベースへの接続に失敗した場合、クエリの実行に失敗した場合などのエラーをキャッチします。
  • ユーザー入力: ユーザーが不正なデータを入力した場合などのエラーをキャッチします。

まとめ

この記事では、Pythonの例外処理について、try-exceptの基本的な使い方から、特定の例外のキャッチ方法、さらには実用的な活用例まで解説しました。

例外処理は、プログラムの安定性を高め、エラー発生時の適切な処理を実現するために不可欠です。ぜひ今回の内容を参考に、例外処理を活用した堅牢なプログラムを作成してみてください。

注意点
ただし、このtry-exceptを多用しすぎると、どこでエラーが起こっているのか分からなくなってしまう弊害もあるので、使い方は考えて使用してください。

Pythonについて勉強したい人は以下がおすすめです。私も持っていてたまに眺めて勉強していますものですのでぜひ購入して学習してみてください。

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村