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")
#両方を印刷します