Python3.Xでの例外処理

Pythonで発生した例外とエラーに対処するには、まずPythonに一般的に存在する例外とエラーを理解する必要があります。

1.一般的なエラーと例外

一般的な例外 説明
NameError 宣言されていない変数にアクセスしてみてください
ZeroDivisionError 除数は0です
構文エラー 文法エラー
indexError インデックスがシーケンス範囲外です
KeyError 存在しない辞書キーをリクエストする
IOError 入出力エラー(たとえば、読み取りたいファイルが存在しない)
AttributeError 不明なオブジェクトのプロパティにアクセスしようとしました

上記はPythonでの一般的なエラー例外です。これらのエラーが発生した場合でも、慌てる必要はありません。知識を増やすための時間を知る必要があります。例外を処理するいくつかの方法があります。

2 .try ...除きます

try:
    语句1
    语句2
    .
    .
    .
    语句N
except 错误或异常名称:
    do something...
#try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。具体实现机制为:

1. tryに続くステートメント(キーワードtryとキーワードexceptの間のステートメント)を実行します
。2。例外が発生しない場合は、except句を無視し、try句は実行後に終了します。
3. try句の実行中に例外が発生した場合、残りのtry句は無視されます。例外のタイプがexceptの後の名前と一致する場合、対応するexcept句が実行されます。最後に、tryステートメントの後にコードを実行します。
4.例外がを除いて一致しない場合、プログラムの実行中に、上位の試行に戻り、エラータイプが表示されます。
注意(黒板をノックする)!
1. tryステートメントには、さまざまな特定の例外を処理するために、複数のexcept句を含めることができます。最大で1つのブランチのみが実行されます。
2.except句は、複数の例外を同時に処理できます。これらの例外は、タプルとして括弧内に配置されます。

3を除く.try ... ...他

try:
    语句1
    语句2
    语句3
    .
    .
    .
    语句N
except 错误或异常名称:
    do something
else:
    do other things
#在try子句没有发生任何异常的时候执行else后面的语句。

4.レイズ

        #允许强行产生指定的异常,即产生的错误名称由你自己命名
 Q = input("请输入一个整数:")
if type(Q) != type(1):
    raise ValueError
else:
    print(Q)
当你输入的不是整数,它会报错(ValueError),但你输入的是一个整数后,它会输出你输入的整数。

5最後に.try ...

    #无论异常是否发生,在程序结束前,finally中的语句都会被执行。
a=10
b=0
try:
    print(a/b)
finally:
    print("always excute")

エラーが報告されますが、「常に実行」を出力
します。ただし、最終的に使用する場合を除きます。

a=10
b=0
try:
    print(a/b)
except:
    print("error")
finally:
    print("always excute")

#両方を印刷します

おすすめ

転載: blog.csdn.net/yue008/article/details/65449922