アサーション(assertion)Advertisement説明
Java2SDK1.4から導入された機能。プログラムの正当性をチェックする。
式1 assert boolean式;式2 assert boolean式 : message※messageにはboolean式の結果が false だった場合のメッセージを記述。 コンパイル・実行
現時点ではアサーションを使用するときに以下のオプションをつける必要がある。
コンパイル javac -version 1.4 xxx.java-version オプションなしでコンパイルすると vertion1.3 でコンパイルが行われるため、コンパイルエラーになる(互換性確保のため)。 実行 アサーションを有効にして実行 java -ea xxx.javaオプションなしで実行するとアサーションが無効になる。 導入例
アサーションを使用しない場合、numの値の正当性チェックは必ずif文を使用する必要があった。
// int型変数num
private int num = 0;
// 〜略
// ここで num の値は 0 以上のはず。
if(num < 0){
System.out.println("num の範囲が不正");
System.exit;
}
System.out.println(num);
アサーションの使用 // int型変数num private int num = 0; // 〜略 // ここで num の値は 0 以上のはず。 assert num >= 0; System.out.println(num); このアサーションが実行され、num >= 0 の評価結果が true の場合、処理は続行される。 評価結果が false の場合、メッセージが表示され処理が停止する。
Exception in thread "main" java.lang.AssertionError
at Test.main(Test.java:10)
例その2:メッセージを記述した場合 assert num >= 0 : "num = " + num;
Exception in thread "main" java.lang.AssertionError: num = -1
at Test.main(Test.java:10)
Advertisement |
ショートカット・634・634ブログ ・このカテゴリのトップページに戻る ・Incubator(Pukiwiki) ・634ラボ UIコレクションギャラリー ZO-3ジェネレーター サイト検索Y!ログール |