この記事では主に Python の例外処理に関する関連情報を紹介します。必要な方は参考にしてください。
Python の例外処理機能は非常に強力で、エラー情報をユーザーに正確にフィードバックできます。 Python では、例外もオブジェクトであり、操作できます。すべての例外は、基本クラス Exception のメンバーです。すべての例外は基本クラス Exception から継承され、例外モジュールで定義されます。 Python はすべての例外名を組み込みの名前空間に自動的に配置するため、プログラムで例外を使用するために例外モジュールをインポートする必要はありません。 Python は例外オブジェクトを使用して異常な状況を表します。エラーが発生すると例外がスローされます。例外オブジェクトが処理されない、またはキャッチされない場合、プログラムはいわゆるトレースバック (エラー メッセージ) を表示して実行を終了します。
注: ほとんどのエラーは例外を引き起こしますが、例外は必ずしもエラーを表すとは限りません。場合によっては、例外が単なる警告である場合もあれば、ループの終了などの終了信号である場合もあります。
1. Python 例外に関連するキーワード
raise: 手動で例外をスロー/発生させる: raise [例外[,data]]
try/excel: 例外をキャッチして処理する
pass: 例外を無視する
as: 例外を定義する 例 (例外 IOError as e)
finally: 例外が発生するかどうかに関係なく実行されるコード]
else: try のステートメントが例外を発生させない場合、else のステートメントが実行されます
例外として Exception:
two . python
1.StandardError クラスの例外の種類: プログラム内で論理エラーが発生した場合、この例外がスローされます。 StandardError クラスは、すべての制約された例外の基本クラスであり、デフォルトの名前空間に配置されるため、IOEroor、EOFError、ImportError などのクラスを使用するときに例外モジュールをインポートする必要はありません。
StopIteration クラス: ループが最後まで実行されたかどうかを決定します。ループが最後に到達すると、例外がスローされます。
GeneratorExit クラス: Generator 関数によって発生する例外です。この例外は、close() が呼び出されたときに発生します。
警告クラス: プログラム内のコードによって引き起こされる警告を表します。
3つ最初の例外ステートメントにジャンプします。
· 最初の例外で定義された例外が、発生した例外と一致する場合、例外内のステートメントが実行されます。 · 発生した例外が最初の例外と一致しない場合、2 番目の例外が検索され、書き込める例外の数に制限はありません。 · すべての例外が一致しない場合、例外は、このコードを呼び出す次に高いレベルの try コードに渡されます。 · 例外が発生しない場合は、else ブロック コードを実行します。import traceback try: 1/0 except Exception as err: print(err) try: f = open("file.txt","r") except IOError as e: print(e) try: f = open("file.txt","r") except Exception as e: print(e)
ステートメント 2 このステートメントの実行規則は次のとおりです: · try の下でコードを実行します。 · 例外が発生した場合、例外が次のレベルの try に渡されたときに、finally のコードが実行されます。 · 例外が発生しなければ、最後にコードを実行します。 2 番目の try 構文は、例外が発生するかどうかに関係なくコードを実行する必要がある場合に便利です。たとえば、読み取りおよび書き込み操作のために Python でファイルを開くと、操作中に例外が発生したかどうかに関係なく、ファイルは最終的に閉じられます。これら 2 つの形式は互いに競合します。一方を使用すると、他方の使用は許可されず、機能も異なります したがって、通常の状況では、最終的にファイル記述子を閉じる、解放するなどのいくつかのクリーニング作業を実行します。ロックなど Final で例外が発生した場合、対応する外部キャプチャ メカニズムがない場合、例外は最上位までレイヤーごとにスローされ、その後インタープリターが停止することに注意してください。通常、外層に例外キャプチャを追加します 3. 手動で raise を使用して例外を発生させます
1.raise [例外[,data]]
2。最も簡単な方法 この形式では、キーワード raise を入力し、その後に発生する例外の名前を入力します。例外名は特定のクラスを識別します。Python 例外はそれらのクラスのオブジェクトです。 raise ステートメントが実行されると、Python は指定された例外クラスのオブジェクトを作成します。 raise ステートメントでは、例外オブジェクトを初期化するためのパラメーターを指定することもできます。これを行うには、例外クラスの名前の後にカンマと指定されたパラメーター (またはパラメーターのタプル) を追加します。
3. 例:
rree