Tips

開発Tips(2025-09-13)

このTipsでは、Pythonで例外を適切に処理し、プログラムの堅牢性を高めるための方法を紹介します。具体的には、`try-except`ブロックの効率的な使用方法、特定の例外のキャッチ方法、そしてカスタム例外の作成方法について解説します。

本Tipsは、Pythonにおける例外処理のベストプラクティスについてです。

このTipsでは、Pythonで例外を適切に処理し、プログラムの堅牢性を高めるための方法を紹介します。具体的には、try-exceptブロックの効率的な使用方法、特定の例外のキャッチ方法、そしてカスタム例外の作成方法について解説します。

Pythonにおける例外処理の堅牢化

Pythonでは、try-exceptブロックを使って例外を処理します。これにより、プログラムが予期せぬエラーによって停止することを防ぎ、より堅牢なコードを作成できます。

try:
    # エラーが発生する可能性のあるコード
    result = 10 / 0
except ZeroDivisionError:
    # ZeroDivisionErrorが発生した場合の処理
    print("ゼロ除算エラーが発生しました。")
except Exception as e:
    # その他の例外が発生した場合の処理
    print(f"予期せぬエラーが発生しました: {e}")
else:
    # 例外が発生しなかった場合の処理
    print(f"結果は: {result}")
finally:
    # 例外が発生したかどうかに関わらず、必ず実行される処理
    print("処理が完了しました。")

tryブロック内にエラーが発生する可能性のあるコードを記述し、exceptブロックで発生した例外を処理します。複数のexceptブロックを記述することで、異なる種類の例外を個別に処理できます。elseブロックは例外が発生しなかった場合に実行され、finallyブロックは例外が発生したかどうかに関わらず必ず実行されます。 特定の例外をキャッチすることで、プログラムのエラーハンドリングをより精密に行うことができます。また、独自の例外クラスを作成することで、コードの可読性と保守性を向上させることも可能です。

注意点:except Exception:は、全ての例外をキャッチするため、予期せぬエラーを見逃す可能性があります。できるだけ具体的な例外をキャッチするようにしましょう。 finallyブロックでは、ファイルクローズやリソース解放などのクリーンアップ処理を行うことが推奨されます。