Day 152例外をまとめて扱う安全な実行ラッパー
Pythonコード
1def safe_execute(func):2 try:3 return func()4 except Exception as e:5 print(f'エラーが発生しました: {e}')6 return None7 8def example_func():9 try:10 x = 5 / 011 return x12 except Exception as e:13 print(f'エラーが発生しました: {e}')14 return None15 16result = safe_execute(example_func)17print(result)
解説
- 行1〜5: safe_execute という関数を定義しています。この関数は、他の関数を安全に実行するためのラッパーです。try ブロック内で関数を実行し、エラーが発生した場合は except ブロックでエラーをキャッチしてメッセージを表示します。組み込み関数の print() は、画面に文字や値を表示する関数です。
- 行6〜10: example_func という関数を定義しています。この関数は、ゼロ除算を実行し、エラーを発生させます。try/except ブロックでエラーをキャッチしてメッセージを表示します。
- 行11〜12: safe_execute 関数を使用して example_func を実行しています。エラーが発生した場合は、エラーメッセージが表示され、結果は None になります。
- 行1〜12: 補足: try/except ブロックは、エラーが発生した場合にエラーをキャッチしてメッセージを表示するために使用されます。
次に試してみよう
- ゼロ除算以外のエラーを発生させる関数を作成してみましょう。
- safe_execute 関数を使用して、リストの要素を取得する関数を実行してみましょう。
- safe_execute 関数を使用して、入力値の数値変換を実行してみましょう。