Javaのアサーションとは何ですか? Javaでアサーションを使用する方法

公開: 2021-05-20

目次

Javaのアサーションとは何ですか?

Javaのアサーションは、実行時にアサーションが真であると想定されるため、プログラムの想定が正しいことを確認するために使用されます。 アサーションがfalseの場合、Java仮想マシンはAssertionErrorという名前のエラーをスローします。 Javaでのアサーションは、主にテスト目的でそのアプリケーションを見つけました。 ブール式は、アサーションステートメントとともに使用されます。 アサーションはステートメントであり、「asset」キーワードはJavaでアサーションを実行するために使用されます。

構文

以下は、Javaでアサーションが実行される2つの方法です。

1.式をアサートします。

2. expression1:expression2をアサートします。

Javaでアサーションを使用する方法は?

Javaでは、アサーションはデフォルトで無効になっています。 それらを有効にするには、次のコマンドを使用します。

java-eaテスト

(また)

java-enableassertionsテスト

ここで、TestはJavaファイルの名前です。

アサーションの構文を示す例を次に示します。

パブリッククラステスト

{{

public static void main(String [] args)

{{

int値=13;

値をアサート<=12:「ティーンではない」;

System.out.println("ティーンエイジャーの年齢は"+値);

}

}

出力

これは、Java仮想マシンによるアサーションエラーの生成の例です–

クラステスト

{{

public static void main(String args [])

{{

int weight = 30;

ウェイトのアサート>=20:”太りすぎ”;

System.out.println("重みは"+ value);

}

}

出力

アサーションを有効にした後、

出力

スレッド「メイン」の例外java.lang.AssertionError:太りすぎ

これはどのように見えるかです:

ソース

なぜアサーションを使用するのですか?

Javaアサーションは、次の目的で使用されます。

  • プログラマーの仮定が正しいかどうかを確認してください。
  • コードが到達不能に見える場合は、到達不能であることを確認してください。
  • コメントに書かれている仮定が正しいことを確認します。次に例を示します。

if((y&1)== 1)

{}

else//yは偶数でなければなりません

{アサート(y%2 == 0); }

  • デフォルトのスイッチケースに達していないことを確認します
  • オブジェクトの状態を確認してください

Javaのアサーションは、メソッドの開始時とメソッドの呼び出し後に使用されます。

アサーションはどこで使用しますか?

Javaのアサーションは、条件付きの場合、および条件がメソッドの先頭にある場合に使用されます。 また、プライベートメソッドへの引数の場合。 開発者のコ​​ードはプライベート引数を提供し、プログラマーが引数に関する仮定を確認する必要がある場合。

アサーションの使用を避ける必要があるいくつかの状況を次に示します。

  1. Sun Microsystemsの仕様に従い、パブリックメソッドの引数をチェックするときにアサーションを使用しないでください。NullPointerExceptionやIllegalArgumentExceptionなどの適切なランタイム例外が発生する可能性があります。
  2. エラーメッセージの代わりとして使用しないでください。
  3. どのような状況でもエラーを発生させたくない場合は、アサーションの使用をスキップしてください。
  4. コマンドライン引数には使用しないでください。
  5. ユーザーがエラーを提供した場合、パブリックメソッドの引数をチェックするためにアサーションを使用しないでください。 代わりに、エラー処理を使用する必要があります。

アサーションを無効にする方法は?

次のコマンドは、Javaでアサーションを無効にするために使用されます。

java –daテスト

または

java –disableassertionsテスト

ここで、TestはJavaファイルの名前です。

Javaでアサーションを使用する方法

例1:Javaアサーション

パブリッククラスメイン{

public static void main(String args []){

String [] weekdays = {"Mon"、 "Tue"、 "Wed"、 "Thur"、 "Fri"};

weekdays.length==2をアサートします。

System.out.println(「あります」+ weekdays.length +「週の平日」);

}

}

出力

次の出力は、アサーションが無効で、プログラムにコンパイルエラーがない場合に実現されます。

アサーションを有効にすると、次の出力が得られます。

スレッド「メイン」の例外java.lang.AssertionError

次のような別の形式のアサーションステートメントがあります。

アサート条件:式;

この形式のアサーションステートメントには、AssertionErrorオブジェクトのコンストラクターに渡される式があります。 条件がfalseの場合、この式にはエラーの詳細メッセージとして表示される値があります。 問題のデバッグを支援するために、詳細なマッサージにより、アサーションの失敗情報がキャプチャされて送信されます。

例2:式の例を使用したJavaアサーション

パブリッククラスメイン{

public static void main(String args []){

String [] weekdays = {「月」、「火」、「水」、「木」、「金」、「土」};

assert weekdays.length == 5:「1週間に5つの平日しかありません」;;

System.out.println(「あります」+ weekdays.length +「週の平日」);

}

}

出力

スレッド「main」の例外java.lang.AssertionError:1週間に週末は5つしかありません

上記の例に示されているように、式はAssertionErrorオブジェクトのコンストラクターに渡されます。 アサーションが有効であり、仮定がfalseであるため、例外がスローされると適切なメッセージが表示されます。 このメッセージは、アサーションの失敗の原因となったエラーを診断して修正するのに役立ちます。

世界のトップ大学からオンラインでソフトウェアエンジニアリングコース学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

このブログでは、アサーションを使用してプログラムロジックをテストする方法を学びました。 また、アサーションを例外の代わりに使用できない理由を学び、例外の使用が例外処理よりも効果的である状況を見てきました。

Javaについてさらに学び、プログラミングのキャリアを向上させたい場合は、インド最大のオンライン高等教育会社であるupGradによる無料のJavaオンラインコースを探索してください。 詳細については、 upGradアクセスしてください。

Java、フルスタックソフトウェア開発について詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを9時間以上提供しています。プロジェクト、割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

Javaのアサーションとは何ですか?

Javaプログラミング言語では、アサーションは、いくつかの要件に従う必要があることを確認するために使用される方法です。 Javaでのアサーションの失敗は、コンパイルエラーと見なされます。つまり、コードにアサーションがある場合、コードはコンパイルされず、エラーメッセージが表示されます。 Javaのこの機能により、予期しないまたは不要なランタイムエラーからコードを保護できます。 Javaのassertステートメントを使用すると、実行時にプログラムの不変条件をテストできます。 アサーションは通常、コードが無効な状態になっていないことを確認するために使用されます。 他の言語では、この目的で使用される契約方法または事前/事後条件が表示される場合があります。

Javaで例外を処理する方法は?

例外はランタイムエラーです。これは、コンパイル中ではなく、プログラムの実行中に発生することを意味します。 エラーが発生し、プログラムを続行できない場合、例外がスローされます。 例外は、次の3つの方法で処理できます。例外を無視し、プログラムを終了できるようにします。 throwキーワードを使用して、例外を再スローします。 try-catchブロックを使用して、例外を処理します。 例外をログに記録または印刷してから、プログラムを終了させることができます。 exitキーワードを使用して、プログラムを終了できます。 throwキーワードを使用して、例外を再スローできます。 try-catchブロックを使用して、例外を処理できます。 引数に例外を受け入れるcatchブロックがあります。 例外がスローされるかどうかに関係なく実行されるfinallyブロックがあります。

try-catchはJavaでどのように機能しますか?

try-catchは、実行時エラーを制御された方法で処理できるスコープを定義できるJavaのメカニズムです。 また、エラーが発生したときに実行のフローが完全に停止しないようにします。 tryとcatchは、例外処理を実装するために使用される2つのキーワードです。 プログラムでエラーが発生するたびに、tryブロックが実行され、エラーはcatchブロックによって処理されます。