Pythonの例外処理について要点まとめ
Pythonの例外処理は、プログラム実行中に発生するエラーや異常状態に対処するための仕組みです。以下に、Pythonの例外処理に関する要点をまとめました。
-
- 例外の種類:
Pythonではさまざまな例外が発生する可能性があります。一般的な例外には、TypeError(型エラー)、ValueError(値エラー)、NameError(名前エラー)、FileNotFoundError(ファイルが見つからないエラー)などがあります。また、Exceptionクラスを継承したユーザー定義の例外も作成できます。 - try-except文:
例外処理は通常、tryとexceptを使用して行います。tryブロック内のコードが例外を発生させる可能性がある場合、それをexceptブロックでキャッチして処理します。try: # 例外を発生させる可能性のあるコード result = 10 / 0 # 0で割り算を試みる except ZeroDivisionError: # 例外が発生した場合の処理 print("ゼロで割ることはできません。") - 複数のexcept節:
1つのtryブロック内で異なる種類の例外に対処するために、複数のexcept節を使用できます。try: x = int("abc") # 文字列を整数に変換 except ValueError: print("値エラーが発生しました。") except TypeError: print("型エラーが発生しました。") - else節:
tryブロック内で例外が発生しない場合、else節が実行されます。例外が発生しなかったことを確認するために使用できます。try: x = 10 / 2 except ZeroDivisionError: print("ゼロで割ることはできません。") else: print("計算結果:", x) - finally節:
finally節は、例外の有無にかかわらず必ず実行されるコードを指定するために使用されます。リソースの解放など、クリーンアップ作業に適しています。try: file = open("example.txt", "r") # ファイルを読み込む処理 except FileNotFoundError: print("ファイルが見つかりません。") finally: file.close() # ファイルをクローズする - 例外の階層構造:
Pythonの例外は階層構造を持っており、より一般的な例外からより具体的な例外へと継承されています。より具体的な例外をキャッチする前に、より一般的な例外をキャッチすることができます。try: # some code except Exception as e: # すべての例外をキャッチ print("エラー:", e) except ValueError as ve: # 値エラーのみキャッチ print("値エラー:", ve) - カスタム例外:
プログラム特有の例外を処理するために、独自の例外クラスを定義できます。これにより、エラーを細かくカスタマイズできます。class MyCustomError(Exception): def __init__(self, message): super().__init__(message) try: if some_condition: raise MyCustomError("カスタムエラーが発生しました。") except MyCustomError as ce: print("カスタムエラーをキャッチ:", ce) - トレースバック:
例外が発生した場合、Pythonはトレースバック情報を提供します。これにはエラーの原因となる行番号やファイル名が含まれており、デバッグに役立ちます。try: result = 10 / 0 except ZeroDivisionError as e: print("エラー:", e) import traceback traceback.print_exc() # トレースバック情報を表示
- 例外の種類:
Pythonの例外処理は、予期せぬエラーや異常状態に対処するための強力なツールです。適切に使用することで、プログラムの安定性と信頼性を向上させることができます。

ディスカッション
コメント一覧
まだ、コメントがありません