Pythonでは、デコレータを用いてエラーハンドリングを行うことができます。デコレータは、ある関数を修飾する、つまり関数の機能を変更したり、追加したりするための関数です。
以下に、デコレータを用いたエラーハンドリングの一例を示します。
def error_handler(func):
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except Exception as e:
print(f"エラーが発生しました: {e}")
return wrapper
@error_handler
def divide(x, y):
return x / y
divide(10, 0)
このコードでは、error_handler
というデコレータを定義しています。このデコレータは、引数として関数func
を受け取り、新たな関数wrapper
を返します。wrapper
関数の中で、func
を実行し、その結果を返すか、エラーが発生した場合はエラーメッセージを出力します。
divide
関数は、@error_handler
というデコレータを用いて修飾されています。そのため、divide
関数がエラーを引き起こす(例えば、0で割るなど)と、エラーメッセージが出力されます。
このように、デコレータを用いることで、エラーハンドリングを一箇所にまとめ、コードの可読性を向上させることができます。