🐍pythonotes

pythonなどなどについて触ったときのメモを書くところ。記事の生成については一部AIを活用しています。

6. エラー処理と例外

6. エラー処理と例外
6.1 例外処理の重要性

例外処理は、プログラムの安全性と信頼性を向上させるために重要です。予期しないエラーや例外が発生した場合、適切な例外処理が行われていると、プログラムが適切に対応し、データの損失やシステムのダウンを防ぐことができます。

6.2 例外の基本構造

Pythonでは、tryexceptfinallyを使って例外処理を行います。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というカスタム例外を定義し、年齢が負の値の場合にそれを投げています。適切な例外処理が行われているため、プログラムは安全かつ信頼性の高い動作を実現できます。