Pythonにはエラー時の処理を条件別に指定する方法(try構文)があります。ここでは、Pythonにおける「例外処理」について解説しています。
この記事の対象
try構文の型
#try構文の型
try:
#通常処理
except:
#error処理
finally:
#必ず実行したい処理
try構文は、予測可能なエラーや例外を処理するためのPythonの基本的な仕組みです。
try、exceptだけでもエラー時の処理を分けることができます。しかし、最後まで必ず実行しなければならない処理があります。そんなときにfinallyを使用します。例えば、fileに値、文字を書き込んでいる最中にエラーになった場合です。必ず最後は閉じる必要があります。
try構文を用いた使用例
ファイル書込み
#try構文を用いた使用例
file_name = open("test.txt",mode = "w")
try:
file_name.write("test program.")
finally:
file_name.close()
上記のプログラムは「test.txt」というファイルに「test program.」と書き込むものです。tryの処理で通常の書き込む処理を行い、finallyで必ずファイルを閉じています。
ファイルの読み込みと例外処理
ファイルを読み込む操作も例外が発生する可能性があります。以下のコードは、ファイルが存在しない場合に備えた例外処理になります。
try:
with open("text.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("ファイルが見つかりません。")
ゼロ除算の例外処理
ゼロで割る操作は一般的なエラーです。以下は、ゼロ除算の例外を処理するPythonコードの例です。
try:
result = 10 / 0
except ZeroDivisionError:
print("ゼロで割ることはできません。")
ユーザー入力と例外処理
ユーザーからの入力を促す際、予測不可能なエラーを引き起こす可能性があります。以下のコードは、ユーザーが無効な値を入力した場合に備えた例外処理を行う例です。
try:
num = int(input("整数を入力してください: "))
result = 10 / num
except ValueError:
print("無効な入力です。整数を入力してください。")
except ZeroDivisionError:
print("ゼロで割ることはできません。")
まとめ
Pythonのtry構文は、エラー処理の基本です。正しく使用することで、予測可能なエラーに対処し、プログラムの信頼性を高めることができます。
エラーメッセージを適切に扱い、例外処理をきちんと実装することで、より堅牢なコードを書くことができます。適宜、ご参照下さい。