J2SE1.4 アサーション

「アサーション」は、プログラムに関する前提をテストできる Java TM プログラミング言語の文です。

「これはこうあるべき」という前提条件を確認するためにアサーションを使うことができる。デバッガのチェックポイントみたいなものだけれど、コードに書き込んで判定することができるのが異なっている感じ。

式 

assert Expression1;
assert Expression1 : Expression2;
Expression1
boolean式。この式がfalseの場合はAssertionErrorをスローする。
Expression2
AssertionErrorのコンストラクタに渡される値。

コードへのアサーションの挿入

  • アサーションは、public メソッド内の引数チェックに使用しないでください
    • 引数のチェックは通常、メソッドの仕様 (または規約) の一部だから
  • アプリケーションの正しい動作に必要な処理を実行するためにアサーションを使用しないでください
    • アサーションが無効になっている場合もありえるから

内部の不変条件

if (i % 3 == 0) {
...
} else if (i % 3 == 1) {
...
} else {
assert i % 3 == 2 : i;
...
}

制御フローの不変条件

作成中ですわ