Python のエラーと例外の処理

不言
不言転載
2018-09-30 13:55:452292ブラウズ

この記事の内容は Python のエラーと例外処理に関するものであり、一定の参考価値がありますので、困っている友人は参考にしていただければ幸いです。

1: 構文エラー 構文エラー

文法に詳しい!

2: 例外

①エラー情報を出力する場合、例外の種類は例外の組み込み名として表示され、特定の情報はコールスタックの形式で表示されます

②common例外:
nameerror、
zeropiseerror、
typeerror
syntaxerror
indexerrorインデックスはシーケンス範囲を超えています
keyerror using using using using using using out out out out out out out out out out of ' 不明なオブジェクトのプロパティにアクセスしようとする
3: 例外処理

while True:
try:
x = int(input("Please enter a number: "))
break
except ValueError:
print("Oops!  That was no valid number.  Try again   ")

try ステートメントは次のように動作します。 ;

①まず、try 句(キーワード try とキーワード else の間の文)を実行します。

② 例外が発生しない場合は、Except 句を無視して、try 句の実行後に終了します。
③try 句の実行中に例外が発生した場合、try 句の残りの部分は無視されます。
④例外の種類が、excel の後の名前と一致する場合、対応する else 句が実行されます。最後に、try ステートメントの後のコードを実行します。
⑤例外がどの例外とも一致しない場合、例外は上位の try に渡されます。
⑥try ステートメントには、さまざまな特定の例外を処理するために複数の else 句が含まれる場合があります。最大 1 つのブランチが実行されます。
⑦Except 句は複数の例外を同時に処理でき、これらの例外は括弧内に置かれてタプルになります。

except (RuntimeError, TypeError, NameError):
pass

⑧最後の例外句は例外の名前を無視できます。例外はワイルドカードとして使用されます。このメソッドを使用すると、エラー メッセージを出力し、再度例外をスローできます。

⑨try Below ステートメントにはオプションの else 句もあります。この句を使用する場合は、すべての else 句の後に配置する必要があります。この句は、try 句で例外が発生しない場合に実行されます。


3: 例外をスローする

Python は、raise ステートメントを使用して、指定された例外をスローします。

raise パラメータは 1 つだけです。スローされる例外を指定します。

これは、例外インスタンスまたは例外クラス (つまり、Exception のサブクラス) である必要があります。

4: ユーザー定義の例外

新しい例外クラスを作成して、独自の例外クラスを所有できます。自分自身の例外。

例外クラスは Exception クラスを継承し、直接または間接的に継承できます。

さまざまな例外をスローする可能性のあるモジュールを作成する場合、
一般的なアプローチは、このパッケージの基本的な例外クラスを作成することです。

5: クリーンアップ動作の定義

try:
        raise KeyboardInterrupt
    finanlly:
        print("dooo")

try 節で例外が発生したかどうかに関係なく、finally 節が実行されます。

try 節 (または、excel 節と else 節) で例外がスローされた場合、

ただし、例外があれば例外はインターセプトされません。場合、finally 句が実行された後に例外が再度スローされます。

6: 拡張------------->アサーション メカニズム

アサートは同等です。ブール値が真であると判定され、満たされない場合は例外 AssertionError をスローします

目的: 防御的なプログラム

実行時にロジック チェックが必要です
参考: 「Python でアサーションを使用する最適な時期」>>

りー

以上がPython のエラーと例外の処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。