Python Try Except
try
blockを使用すると、コードブロックのエラーをテストできます。
except
ブロックを使用すると、エラーを処理できます。
else
ブロックを使用すると、エラーがない場合にコードを実行できます。
finally
ブロックを使用すると、try-ブロックとexcept-ブロックの結果に関係なく、コードを実行できます。
例外処理
エラー、つまり例外と呼ばれるエラーが発生すると、Pythonは通常停止し、エラーメッセージを生成します。
これらの例外は、try
ステートメントを使用して処理できます。
tryブロックでエラーが発生するため、exceptブロックが実行されます。
tryブロックがないと、プログラムがクラッシュしてエラーが発生します。
多くの例外
例外ブロックは必要な数だけ定義できます。特殊な種類のエラーに対して特殊なコードブロックを実行する場合です。
例
tryブロックでNameErrorが発生した場合は1つのメッセージを出力し、その他のエラーの場合は別のメッセージを出力します。
try:
print(x)
except NameError:
print("変数xが定義されていません")
except:
print("何か問題が発生しました")
Else
else
キーワードを使用して、エラーが発生しなかった場合に実行されるコードのブロックを定義できます。
例
この例では、try
ブロックはエラーを生成しません。
try:
print("こんにちは")
except:
print("何か問題が発生しました")
else:
print("何も問題はありませんでした")
Finally
finally
ブロックが指定されている場合、tryブロックでエラーが発生するかどうかにかかわらず、ブロックが実行されます。
これは、オブジェクトを閉じてリソースをクリーンアップするのに役立ちます。
例
書き込み不可能なファイルを開いて書き込んでみます。
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("ファイルへの書き込み時に問題が発生しました")
finally:
f.close()
except:
print("ファイルを開くときに問題が発生しました")
ファイルオブジェクトを開いたままにすることなく、プログラムは続行できます。
例外を発生させる
Python開発者は、条件が発生した場合に例外をスローすることを選択できます。
例外をスロー(または発生)するには、raise
キーワードを使用します。
raise
キーワードは、例外を発生させるために使用されます。
どのような種類のエラーを発生させるか、およびユーザーに出力するテキストを定義できます。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。