Pythonの例外処理メカニズムは、プログラムの実行中にエラーや予期しないイベントを優雅に処理するように設計されています。 Pythonでの例外処理の主要な構成要素はtry-except
ブロックです。これがどのように機能しますか:
try
ブロックに囲まれています。try
ブロック内で例外が発生した場合、コントロールはすぐに例外を処理するexcept
ブロックに転送されます。 Pythonでは、ブロックexcept
複数のタイプの例外を処理できます。else
ブロックを使用してコードを実行できますtry
finally
ブロックが実行され、多くの場合、クリーンアップアクションに使用されます。例:
<code class="python">try: result = 10 / 0 except ZeroDivisionError: print("Cannot divide by zero!") else: print("Division successful") finally: print("Execution completed")</code>
Pythonでカスタム例外を作成するには、組み込みのException
クラスまたはそのサブクラスから継承する新しいクラスを定義できます。これがそれを行う方法です:
Exception
またはより具体的な例外クラスから継承する新しいクラスを作成します。カスタム例外を作成する例:
<code class="python">class CustomError(Exception): """A custom exception class""" def __init__(self, message, error_code): self.message = message self.error_code = error_code super().__init__(f"{self.message} (Error Code: {self.error_code})") try: raise CustomError("Something went wrong", 500) except CustomError as e: print(e)</code>
Pythonでカスタム例外を使用すると、いくつかの利点があります。
例外処理は、いくつかの方法でPythonプログラムの堅牢性を大幅に改善できます。
finally
ブロックを使用すると、エラーが発生した場合でも、ファイルハンドルやネットワーク接続などのリソースが適切に閉じられるようになります。Pythonには、一般的なエラーシナリオを処理するために使用されるさまざまな組み込みの例外が含まれています。ここに最も一般的なものがあります:
SyntaxError:パーサーが構文エラーに遭遇したときに上昇します。この例外は、コードの構文の問題を識別するのに役立ちます。
<code class="python">try: eval("print 'Hello, World!'") # Syntax error in Python 3 except SyntaxError as e: print(e)</code>
TypeError:操作または関数が不適切なタイプのオブジェクトに適用されると上げられます。
<code class="python">try: result = "a string" 123 except TypeError as e: print(e)</code>
ValueError:関数が正しいタイプの引数を受け取ったが不適切な値を受信したときに提起されます。
<code class="python">try: int("not a number") except ValueError as e: print(e)</code>
IndexError:シーケンスサブスクリプトが範囲外になったときに上昇します。
<code class="python">try: my_list = [1, 2, 3] print(my_list[10]) except IndexError as e: print(e)</code>
KeyError:辞書キーが見つからないときに掲載されました。
<code class="python">try: my_dict = {"a": 1, "b": 2} print(my_dict["c"]) except KeyError as e: print(e)</code>
ZerodivisionError:分割またはモジュロ操作の2番目の引数がゼロの場合に提起されました。
<code class="python">try: result = 10 / 0 except ZeroDivisionError as e: print(e)</code>
これらの組み込みの例外は、開発者が一般的なエラーを効率的に処理し、コードをより堅牢でエラー抵抗性にするのに役立ちます。
以上がPythonの例外処理がどのように機能するかを説明してください。カスタム例外を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。