Python で例外を発生させる

Rana Hasnain Khan 2023年1月30日
  1. Python で例外を発生させる
  2. Python の try ステートメント
  3. Python の raise キーワード
  4. Python の else
Python で例外を発生させる

Python で例外を発生させるさまざまな方法を紹介します。

Python で例外を発生させる

Python プログラムを作成して実行すると、プログラムに何かが欠落している場合やコードに何か問題がある場合に、出力またはエラーが発生します。例外は、Python プログラミング言語のようなものです。

Python には、プログラムが何か間違ったことをしているときに発生する多くの組み込みの例外があります。プログラムを実行しようとしたときに例外が発生すると、プログラムが停止し、プログラムがコードを実行しようとしたときに発生した例外が表示されます。

この記事では、いくつかの簡単なプログラムを実行して、tryexcept、および 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("")

出力:

try ステートメントを使用して Python で例外を発生させる

上記の例は、このプログラムが 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)

出力:

複数の except ステートメントを使用して Python で例外を発生させる

これは、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 キーワードを使用して Python で例外を発生させる

上記の例は、負の数を入力すると、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)

出力:

else ステートメントを使用して Python で例外を発生させる

上記の例からわかるように、入力された数値が偶数の場合、プログラムは数値の逆数を出力し、数値が偶数でない場合、上記の結果に示すように、例外が発生します。

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

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

関連記事 - Python Exception