6. エラー処理と例外
6.1 例外処理の重要性
例外処理は、プログラムの安全性と信頼性を向上させるために重要です。予期しないエラーや例外が発生した場合、適切な例外処理が行われていると、プログラムが適切に対応し、データの損失やシステムのダウンを防ぐことができます。
6.2 例外の基本構造
Pythonでは、try
、except
、finally
を使って例外処理を行います。try
ブロック内でエラーが発生すると、対応するexcept
ブロックが実行されます。また、finally
ブロックは、エラーの有無に関わらず最後に実行されます。
具体例:
try:
# エラーが発生する可能性のあるコード
result = 10 / 0
except ZeroDivisionError:
# エラーが発生した場合の処理
print("Error: Division by zero")
finally:
# エラーの有無に関わらず実行される処理
print("This will always be executed")
6.3 カスタム例外の作成
Pythonでは、独自の例外を定義することができます。これにより、プログラムの特定の状況に対応するための例外処理を簡単に実装できます。カスタム例外を作成するには、Exception
クラスを継承します。
具体例:
class InvalidAgeError(Exception):
def __init__(self, age):
self.age = age
super().__init__(f"Invalid age: {self.age}")
def check_age(age):
if age < 0:
raise InvalidAgeError(age)
return age
try:
age = check_age(-5)
except InvalidAgeError as e:
print(e)
この例では、InvalidAgeError
というカスタム例外を定義し、年齢が負の値の場合にそれを投げています。適切な例外処理が行われているため、プログラムは安全かつ信頼性の高い動作を実現できます。