ホームページ  >  記事  >  バックエンド開発  >  Python の例外処理に関する簡単な説明

Python の例外処理に関する簡単な説明

PHP中文网
PHP中文网オリジナル
2016-07-21 14:53:151173ブラウズ

この記事では主に 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 つの出力はまったく同じです--------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - ----------------------------------

2.try:

ステートメント1

finally:

ステートメント 2

このステートメントの実行規則は次のとおりです:

· try の下でコードを実行します。

· 例外が発生した場合、例外が次のレベルの try に渡されたときに、finally のコードが実行されます。

· 例外が発生しなければ、最後にコードを実行します。

2 番目の try 構文は、例外が発生するかどうかに関係なくコードを実行する必要がある場合に便利です。たとえば、読み取りおよび書き込み操作のために Python でファイルを開くと、操作中に例外が発生したかどうかに関係なく、ファイルは最終的に閉じられます。これら 2 つの形式は互いに競合します。一方を使用すると、他方の使用は許可されず、機能も異なります

したがって、通常の状況では、最終的にファイル記述子を閉じる、解放するなどのいくつかのクリーニング作業を実行します。ロックなど

Final で例外が発生した場合、対応する外部キャプチャ メカニズムがない場合、例外は最上位までレイヤーごとにスローされ、その後インタープリターが停止することに注意してください。通常、外層に例外キャプチャを追加します

3. 手動で raise を使用して例外を発生させます

1.raise [例外[,data]]

2。最も簡単な方法 この形式では、キーワード raise を入力し、その後に発生する例外の名前を入力します。例外名は特定のクラスを識別します。Python 例外はそれらのクラスのオブジェクトです。 raise ステートメントが実行されると、Python は指定された例外クラスのオブジェクトを作成します。 raise ステートメントでは、例外オブジェクトを初期化するためのパラメーターを指定することもできます。これを行うには、例外クラスの名前の後にカンマと指定されたパラメーター (またはパラメーターのタプル) を追加します。

3. 例:

rree


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。