1 序文
Pythonは、例外と呼ばれる特別なオブジェクトを使用して、プログラムの実行中に発生するエラーを管理します。 Pythonを圧倒するエラーが発生するたびに、例外オブジェクトが作成されます。
例外を処理するコードを記述した場合、プログラムは実行を継続します。例外を処理しない場合、プログラムは停止し、例外に関するレポートを含むトレースバックを表示します。
例外は、try-exceptコードブロックを使用して処理されます。 try-exceptコードブロックを使用すると、Pythonは指定された操作を実行でき、例外が発生したときに何をするかをPythonに指示します。
try-exceptコードブロックを使用すると、例外が発生してもプログラムは実行を継続します。
2 try-exceptコードブロックを使用する
除数を0にすることはできません。プログラマーが誤って除数を0に設定すると、ZeroDivisionErrorが発生します。
実装コード:
try:print(6/0)
except ZeroDivisionError:print("you can not divide by zero!")
動作結果:
you can not divide by zero!
動作原理:
エラーのある可能性のあるコードをtrycodeブロックに入れます。エラーなしで実行された場合、except codeブロックはスキップされます。エラーが発生した場合、Pythonはexcept codeブロックを見つけて、その中のコードを実行します。
このようにして、エラーが発生すると、ユーザーにはわかりやすいエラーメッセージが表示されます。
try-exceptの後に他のコードがある場合、プログラムは引き続き実行されます。
3 try-except-elseコードブロックを使用する
実装コード:
print("Please input two numbers, and I will divide them.")print("Enter 'q' to quit.")while True:
first_num =input("\nFirst number: ")if first_num =='q':break
second_num =input("Second number: ")try:
answer =int(first_num)/int(second_num)
except ZeroDivisionError:print("you can not divide by zero!")else:print(answer)
動作結果:
動作原理:
通常、例外が発生する可能性のあるコードは、tryコードブロックに配置されます。
Pythonは、try codeブロック内のコードを実行しようとします。エラーが発生した場合、exceptのプログラムコードが実行されます。正常に実行された場合、elseコードブロック内のコードが実行されます。
このようにして、起こりうるエラーによって引き起こされるプログラムのクラッシュの問題が効果的に回避され、プログラムがより堅牢になります。
4 パスステートメントを使用
実装コード:
while True:
first_num =input("\nFirst number: ")if first_num =='q':break
second_num =input("Second number: ")try:
answer =int(first_num)/int(second_num)
except ZeroDivisionError:
pass
else:print(answer)
動作結果:
動作原理:
10 コード実行エラーが発生すると、Pythonはexceptコードブロックでpassステートメントを実行します。 passステートメントにはトレースバックも出力もありません。
さらに、passステートメントは、この場所でステートメントが定義されていないことをプログラマーに思い出させるためのプレースホルダーとしても機能し、ステートメントは後で定義できます。
5 概要
この時点で、例外を処理するいくつかの方法を理解しました。ユーザーにエラーを報告するかどうか、およびさまざまなニーズに応じてエラーを報告する方法を決定し、いくつかの例外によって引き起こされるプログラムのクラッシュを効果的に回避できます。
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts