例外を発生させると、Python コードでのエラーと中断の制御された処理が可能になります。この記事では、特定の例外を手動で発生させ、それらをキャッチして適切に処理できるようにする方法を説明します。
例外を発生させるには、raise キーワードの後に例外クラスと任意のカスタムを使用します。メッセージ引数。例:
raise ValueError('Invalid input value.')
特定の例外クラスを選択する:
次のように、状況に適した最も具体的な例外コンストラクターを使用します。一般的な例外はバグを隠し、特定の例外を防ぐことができます。
説明メッセージを含めます:
問題の診断に役立つ具体的で意味のあるエラー メッセージを提供します。
例外の変更を避ける:
例外を変更する必要がある場合は、sys.exc_info() を使用してスタックを保存します。痕跡。ただし、これは通常推奨されず、Python 2 と 3 の間の互換性の問題が発生する可能性があります。
Except 句を使用します:
When例外を処理する場合は、Except 句を使用して特定の例外タイプをキャッチします。
Bare raise for再発生:
スタック トレースを保持しながら例外を再発生させるには、ベア raise ステートメントを使用します:
try: # Code that may raise an exception except SpecificException: logger.error(error) raise
発生にはこれらのメソッドを避けてください。例外:
def check_input(value): if not isinstance(value, int): raise TypeError('Input must be an integer.') if value < 0: raise ValueError('Input must be positive.') try: check_input(-1) except TypeError as error: print('Wrong input type:', error) except ValueError as error: print('Invalid input value:', error)
特定のエラーを処理するためのカスタム エラー タイプを作成するシナリオ:
class MyCustomError(Exception): '''This error represents a specific problem with my code.'''
使用法:
raise MyCustomError('An unexpected issue occurred.') except MyCustomError as error: print('Custom error raised:', error)
以上がPython で例外を手動で発生させ、効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。