Python プログラミングでは、コードの実行中にエラーまたは例外が発生すると、プログラムの実行が停止します。例外が発生したときにプログラムの実行を継続できるようにするために、Python には例外処理メカニズムが用意されています。この記事では、Python での例外処理テクニックを読者に紹介します。
Python では、try-exc ステートメントを使用して例外を処理できます。その基本的な形式は次のとおりです。
try: # 可能会出现异常的代码 except Exception as e: # 如果出现异常,执行这里的代码
この try-excel ステートメントでは、例外を引き起こす可能性のあるコードを try コード ブロックに配置する必要があります。 try コード ブロック内のコードで例外が発生した場合、プログラムを直接終了するのではなく、Except コード ブロックにジャンプして実行します。
Exception ステートメントの Exception は一般的な例外タイプであることに注意してください。特定のタイプの例外のみを処理したい場合は、Exception を特定の例外タイプに置き換えることができます。例:
try: a = 10 / 0 except ZeroDivisionError as e: print('除数不能为0。')
このコードでは、ZeroDivisionError のような例外のみを処理することを指定します。 try コード ブロックで他のタイプの例外が発生した場合、プログラムは直接クラッシュします。
try-Except ステートメントに加えて、Python には try-excel-else ステートメントも用意されています。その基本的な形式は次のとおりです。
try: # 可能会出现异常的代码 except Exception as e: # 如果出现异常,执行这里的代码 else: # 如果没有出现异常,执行这里的代码
このステートメントでは、else コード ブロック内のコードは、try コード ブロック内のコードに例外がない場合にのみ実行されます。このステートメントは、コードの実行結果に基づいて後続の操作を必要とする特定の操作を処理する場合に非常に役立ちます。
try-excel-else ステートメントに加えて、Python には try-excel-finally ステートメントも用意されています。その基本的な形式は次のとおりです。
try: # 可能会出现异常的代码 except Exception as e: # 如果出现异常,执行这里的代码 finally: # 无论有没有出现异常,都会执行这里的代码
このステートメントでは、try コード ブロック内のコードで例外が発生したかどうかに関係なく、finally コード ブロック内のコードが実行されます。このステートメントは、ファイルを閉じる、データベース接続を閉じるなど、クリーンアップ作業が必要な場合に非常に役立ちます。
Python では、raise ステートメントを使用して手動で例外をスローすることもできます。その基本的な形式は次のとおりです。
raise Exception('错误信息')
このステートメントでは、手動で例外をスローし、エラー メッセージを渡します。このステートメントは、特定の状況を手動で検出して例外をスローする必要がある場合に役立ちます。
Python に付属の例外タイプを使用することに加えて、例外タイプをカスタマイズすることもできます。その基本的な形式は次のとおりです。
class CustomException(Exception): pass
このコードでは、CustomException という名前の例外タイプを定義し、それを Exception から継承させます。実際のプログラミングでは、必要に応じてさまざまな例外タイプをカスタマイズして、コードを読みやすく、保守しやすくすることができます。
概要
例外処理は、Python プログラミングの非常に重要な部分です。 Try-Except ステートメント、try-Except-else ステートメント、try-Except-finally ステートメント、および raise ステートメントを使用すると、例外が発生してもプログラムは実行を継続できるため、プログラムの堅牢性と安定性が向上します。同時に、カスタム例外タイプにより、コードが読みやすくなり、保守が容易になります。
以上がPython の例外処理テクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。