Pythonスロー例外

Python Throw Exception



プログラムの実行中に例外が発生し、エラーが原因で通常のフローが変更されます。エラーのために例外が発生します。例外の主な原因は論理エラーです。他の多くのプログラミング言語と同様に、Pythonにはいくつかの組み込み例外、つまりZeroDivisionError、ImportError、EOFErrorなどがあります。たとえば、数値がゼロで除算されると、ZeroDivisionError例外が発生します。 Pythonの例外は、tryステートメントによって処理されます。 tryブロックを定義し、コードの脆弱なコードをこのブロック内に配置します。これにより、例外が発生する可能性があります。次に、tryブロックの後に、例外を処理するためのexceptブロックを定義します。これらすべての組み込み例外に加えて、特定の状況が発生したときに例外を発生またはスローする必要がある場合があります。 Python開発者は、ユーザー定義の例外を簡単にスローできます。私たちは使用します 高める 例外を発生またはスローするためのキーワード。この記事では、例を使用して、例外をスローするためのPythonのraiseキーワードの使用法について説明します。







構文

例外をスローするための構文は非常に単純で、次のとおりです。



高める例外((どれかメッセージ)。

raiseキーワードを記述した後、例外を定義します。



例外処理の例

最初に、Pythonの組み込み例外を処理する方法を示すtry-exceptブロックの例を見てみましょう。その後、Python例外をスローまたは発生させる例をいくつか示します。以下の例では、2つの変数を作成しました。 2番目の変数の値はゼロに等しくなります。 num1をnum2で除算すると、ZeroDivisionErrorが発生します。分割コードは例外をスローします。したがって、tryブロック内に配置されます。例外ブロックは例外をキャッチし、メッセージを出力します。予期しないエラーが発生しました。





#数値変数の宣言
num1=20
#2番目の数値変数の宣言
num2=0
#tryブロックの実装
試す
結果=num1 / num2
それ外
印刷(('予期せぬエラーが発生した')。

出力



例外例を上げる

次に、raiseキーワードを使用して例外をスローまたは発生させる方法を、例を通して理解しましょう。与えられた例では、数値が任意の負の数値で除算された場合に例外が発生します。

#数値変数の宣言
num1=20
#2番目の数値変数の宣言
num2=-10
もしも((num2<0)。
#例外を発生させる
高める 例外((「2は負の数であってはなりません」)。
そうしないと
結果=num1 / num2
印刷((結果)。

出力

出力は、例外番号2が負の数であってはならないことを示しています。

エラーのタイプを定義することもできます。それを見てみましょう。

#数値変数の宣言
num1=20
#2番目の数値変数の宣言
num2=-10
もしも((num2<0)。
#例外を発生させる
高める TypeError((「負の数のエラー」)。
そうしないと
結果=num1 / num2
印刷((結果)。

出力

与えられた例では、タイプエラーが定義されており、それが負の数のエラーであるというメッセージをコンソールに出力します。

Python例外をスローする別の例を見てみましょう。与えられた例では、リストに整数以外の値が含まれている場合、プログラムは例外をスローします。

#リストの宣言
私のリスト=[1237.7'xyz']
#forループの実装
にとって私のリスト:
#各リストアイテムのタイプを確認する
もしも いいえ タイプ(()。 int
#要素タイプが整数でない場合に例外をスローする
高める 例外((「リストに整数以外の値が含まれています」)。
そうしないと
印刷(()。

出力

結論

例外は、エラーに関してプログラムの通常のフローを変更します。 Pythonでは、ユーザーが定義した例外をスローできます。例外をスローするために、Pythonの組み込みのraiseキーワードを使用します。この記事では、例外をスローする概念を例を挙げて説明します。