Python で例外を発生させる
Python で例外を発生させるさまざまな方法を紹介します。
Python で例外を発生させる
Python プログラムを作成して実行すると、プログラムに何かが欠落している場合やコードに何か問題がある場合に、出力またはエラーが発生します。例外は、Python プログラミング言語のようなものです。
Python には、プログラムが何か間違ったことをしているときに発生する多くの組み込みの例外があります。プログラムを実行しようとしたときに例外が発生すると、プログラムが停止し、プログラムがコードを実行しようとしたときに発生した例外が表示されます。
この記事では、いくつかの簡単なプログラムを実行して、try
、except
、および finally
ステートメントを使用して Python プログラムで例外を処理する方法を示します。
Python の try
ステートメント
Python では、コード内で try
ステートメントを使用して例外を処理し、例外の可能性を最小限に抑えることができます。try
句には、例外を生成する可能性のある重要な操作が含まれています。
except
句には、例外を解決するコードが含まれています。
次に、例を見て、ユーザーが間違った値を入力した場合に例外を発生させるために try
ステートメントを使用してみましょう。
# python
Any_List = [2, "Husnain", 4, 6, 8]
for value in Any_List:
try:
print("The value is", value)
raci = 1 / int(value)
print("The reciprocal of", value, "is", raci)
print("")
except:
print("Oops! There is a string in this list.")
print("The reciprocal of", value, "cannot be done!")
print("")
出力:
上記の例は、このプログラムが Any_List
のエントリを通過することを示しています。例外がない場合、except
ブロックはスキップされ、コードは Any_List
の最後の要素に到達するまでスムーズに実行されます。。
ただし、Any_List
のすべての要素を調べているときに例外がある場合は、except
ブロックが実行され、上記の結果に示すように値が出力されます。
ここで、3つの異なる例外
ケースを作成する例を見てみましょう。上記のプログラムでは、except
ブロックが 1つしかない try
ステートメントについて説明します。
しかし、このプログラムでは、句を選択するためのより多くのオプションを提供する 3つの例外
ブロックを使用します。
# python
VAR0 = 10
try:
VAR1 = int("Husnain")
VAR2 = int(56)
result = (int(VAR1) * int(VAR2)) / (VAR0 * int(VAR2))
except ValueError as ve:
print(ve)
exit()
except TypeError as te:
print(te)
exit()
except:
print("Unexpected Error!")
exit()
print(result)
出力:
これは、3つの例外ブロックを含むプログラムです。次に、Python で例外を発生させるために使用できる別のメソッド raise
を見てみましょう。
Python の raise
キーワード
Python プログラミングの実行時にコードにエラーが発生すると、例外が発生します。raise
キーワードを使用して、手動で例外を発生させることができます。
例外に値を渡して、例外とプログラムが例外を発生させた理由に関する詳細情報を提供することもできます。
raise
キーワードを使用して手動でエラーを発生させる例を見てみましょう。
# python
try:
num = int(-23)
if num <= 0:
raise ValueError("entred number is not positive")
except ValueError as ve:
print(ve)
出力:
上記の例は、負の数を入力すると、raise
キーワードで設定した例外が発生することを示しています。
次に、else
句を使用して手動で例外を発生させる別の例を見てみましょう。
Python の else
句
場合によっては、try
ステートメントでエラーなしでプログラムを実行したい場合は、else
ステートメントを使用してプログラム処理を完了します。
# python
try:
number = int(21)
assert number % 2 == 0
except:
print("It is not a even number!")
else:
reciprocal = 1 / number
print(reciprocal)
出力:
上記の例からわかるように、入力された数値が偶数の場合、プログラムは数値の逆数を出力し、数値が偶数でない場合、上記の結果に示すように、例外が発生します。
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn