プログラムの実行中に例外が発生し、エラーが原因で通常のフローが変更されます。エラーのために例外が発生します。例外の主な原因は論理エラーです。他の多くのプログラミング言語と同様に、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例外をスローする別の例を見てみましょう。与えられた例では、リストに整数以外の値が含まれている場合、プログラムは例外をスローします。
#リストの宣言私のリスト=[1、2、3、7.7、'xyz']
#forループの実装
にとって私の私のリスト:
#各リストアイテムのタイプを確認する
もしも いいえ タイプ((私)。 は int:
#要素タイプが整数でない場合に例外をスローする
高める 例外((「リストに整数以外の値が含まれています」)。
そうしないと:
印刷((私)。
出力
結論
例外は、エラーに関してプログラムの通常のフローを変更します。 Pythonでは、ユーザーが定義した例外をスローできます。例外をスローするために、Pythonの組み込みのraiseキーワードを使用します。この記事では、例外をスローする概念を例を挙げて説明します。