パイソン |アサーションエラー
アサーションエラー
アサーションは、コードを作成する際に使用されるプログラミングの概念であり、ユーザーは以下を使用して条件が true であると宣言します。 主張する モジュールを実行する前にステートメントを実行します。条件が 真実 の場合、コントロールは単にコードの次の行に移動します。もしそうなら 間違い プログラムは実行を停止して戻ります アサーションエラー 例外。
の機能 主張する ステートメントは、実装されている言語に関係なく同じであり、言語に依存しない概念であり、プログラミング言語によって構文が異なるだけです。
アサーションの構文:
主張する 条件、error_message (オプション)
例 1: error_message によるアサーション エラー。
Python3
# AssertionError with error_message.> x> => 1> y> => 0> assert> y !> => 0> ,> 'Invalid Operation'> # denominator can't be 0> print> (x> /> y)> |
出力:
Traceback (most recent call last): File '/home/bafc2f900d9791144fbf59f477cd4059.py', line 4, in assert y!=0, 'Invalid Operation' # denominator can't be 0 AssertionError: Invalid Operation
Python のデフォルトの例外ハンドラーは、プログラマが書いた error_message を出力するか、メッセージを表示せずにエラーを処理するだけです。
どちらの方法も有効です。
AssertionError 例外の処理:
アサーションエラー Exception クラスから継承されるため、この例外が発生して AssertionError が発生した場合、ユーザーが処理するか、デフォルトの例外ハンドラーを使用して処理する 2 つの方法があります。
例 1 では、デフォルトの例外ハンドラーがどのように動作するかを示しました。
次に、手動での処理について詳しく見てみましょう。
例 2
Python3
# Handling it manually> try> :> > x> => 1> > y> => 0> > assert> y !> => 0> ,> 'Invalid Operation'> > print> (x> /> y)> # the errror_message provided by the user gets printed> except> AssertionError as msg:> > print> (msg)> |
出力:
Invalid Operation
実用的なアプリケーション。
例 3: プログラムのテスト。
Python3
# Roots of a quadratic equation> import> math> def> ShridharAcharya(a, b, c):> > try> :> > assert> a !> => 0> ,> 'Not a quadratic equation as coefficient of x ^ 2 can't be 0'> > D> => (b> *> b> -> 4> *> a> *> c)> > assert> D>>> => 0> ,> 'Roots are imaginary'> > r1> => (> -> b> +> math.sqrt(D))> /> (> 2> *> a)> > r2> => (> -> b> -> math.sqrt(D))> /> (> 2> *> a)> > print> (> 'Roots of the quadratic equation are :'> , r1, '', r2)> > except> AssertionError as msg:> > print> (msg)> ShridharAcharya(> -> 1> ,> 5> ,> -> 6> )> ShridharAcharya(> 1> ,> 1> ,> 6> )> ShridharAcharya(> 2> ,> 12> ,> 18> )> |
出力:
Roots of the quadratic equation are : 2.0 3.0 Roots are imaginary Roots of the quadratic equation are : -3.0 -3.0
これは、アサート条件が False になるとすぐに、この例外がどのようにプログラムの実行を停止するかを示す例です。
その他の便利なアプリケーション:
- パラメータの値を確認しています。
- 有効な入力/タイプをチェックしています。
- 別のプログラマによるインターフェイスの悪用を検出します。
- 関数の出力を確認しています。