
【第9回】Pythonの例外処理(try-exceptでエラーを防ぐ)
Pythonでは、プログラム実行中に発生するエラー(例外)を適切に処理することが重要です。エラーをそのままにしておくと、プログラムが途中で止まってしまうことがあります。そこで、「例外処理(Exception Handling)」を使うことで、エラーを適切に処理し、プログラムをスムーズに実行できるようにします。
この記事では、Ubuntu環境でviを使いながら、try-exceptを使った基本的な例外処理の方法について解説します。
1、try-exceptの基本
try ブロックに実行したい処理を記述し、エラーが発生した場合は except ブロックで処理を行います。
try:
result = 10 / 0 # ここでゼロ除算エラーが発生
except ZeroDivisionError:
print("0で割ることはできません!")
実行結果:
0で割ることはできません!
2、複数の例外を処理する
複数の異なるエラーを処理したい場合、それぞれの except ブロックを追加できます。
try:
num = int("abc") # 文字列を数値に変換しようとしてエラー
except ValueError:
print("無効な数値です!")
except ZeroDivisionError:
print("0で割ることはできません!")
実行結果:
無効な数値です!
3、例外の詳細情報を取得する
as を使うことで、例外の詳細な情報を取得できます。
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"エラー発生: {e}")
実行結果:
division by zero
4、finallyブロック
finally ブロックを使うと、例外の有無に関係なく必ず実行される処理を記述できます。
try:
file = open("example.txt", "r")
content = file.read()
except FileNotFoundError:
print("ファイルが見つかりません!")
finally:
print("処理を終了します。")
実行結果(ファイルが存在しない場合):
ファイルが見つかりません!
処理を終了します。
まとめ
try-except を使うと、エラーを適切に処理できます。
except ブロックを複数指定することで、異なるエラーに対応できます。
as を使うと、エラーの詳細を取得できます。
finally ブロックを使うと、エラーの有無に関係なく後処理を実行できます。
Ubuntu環境ではviエディタを使ってPythonコードを編集し、python3 ファイル名で実行できます。
例外処理を活用して、エラーに強いプログラムを作成しましょう!