nDiki : Java の assertion
Java の assertion
Java では assertion 機能は J2SE 1.4 で導入された。
assertion を有効化する
コンパイル(Javac)
assert を使う場合は
javac -source 1.4 ...
とする。
コンパイル (Ant)
Javac タスクの source 属性で 1.4 を指定する。
<javac srcdir="." source="1.4" />
実行 (java)
実行時に -ea (-enableassertions) オプションを指定する。 システムクラス内のアサーションも有効にするには -esa (-enablesystemassertions) オプションを使用する。
実行 (Ant)
Junit タスクで assertion を有効にするには junit の fork 属性を yes にし、 jvmarg 子要素で -ea オプションを指定する。
<junit fork="yes"> <jvmarg value="-ea" /> </juni>
実行 (Tomcat)
catalina.sh start する前に環境変数 JAVA_OPTS に -ea オプションを指定する。
スポンサード リンク
Related term
2004年5月16日 (日)
■ assertion

昼食の時に話題になったので、考えてみた。
@ assertion を書いているか? いつ書くか?
最初からあまり書くことはない。 大抵、デバッグ中に書く。
ただし assertion を埋め込むようなデバッグをした次のコーディングフェーズでは、結構書く(長続きはしない)。
契約による設計をしたいと思いつつ、場当たり的。
@ C++ の時
最初に、自前の assert 処理を定義する(assert 関連マクロ、例外クラス、assertion を評価する関数など)。
比較的 assertion を埋め込む。
@ Java の時
うーん。C++ の時ほどは書かないかな。
assert a_obj != null;
とか書いていて後で「あまり意味ないな」って思ったり。 C++ だと assertiion でチェックしておかないと発見が遅れる場合があるが、Java だと NullPointerException が吐かれるから大抵気がつくから。
@ Perl の時
簡単に無効化できないという意識があるためほとんど書かない。 大規模なパッケージの場合は、Makefile.PL を実行する際デバッグフラグを立てると make 時にコメントアウトされている assertion を有効にするようにソースコードを書き換える。
@ assertion を書くのをためらう時
- assertion の条件式の計算がヘビーな時
- assertion でチェックする条件の値を求めるのが面倒な時(ループを回さなければならないとか)
- 本来のコードより assertion の方がずっと多くてコードが読みにくくなる場合
- return 文が複数ある時(事後条件)
- 他のメソッドの戻り値を直接 return してしまう時(事後条件)
- Module::Build でソースパッケージング (2005-08-24)
- 久しぶりにdoxygen (2004-03-24)
- 新入社員 (2004-04-16)
- 契約による設計と状態遷移モデルの抽出とか (2004-08-01)
- ハッシュとは (2004-06-09)
■よく検索されるキーワード
torrent(56) 提案書(47) perl(45) windows(37) linux(31) 使い方(27) 書き方(25) debian(22) x31(22) usb(22) cvs(20) subversion(20) インストール(18) ドラマ(18) c#(17) mp980(17) svn(17) 修理(17) 手帳(16) ssh(15) 評判(15) アジェンダ(15) java(15) デロンギ(14) ガントチャート(13) 感想(13) n-01a(13) centos(13) tc-1(13) 充電式カイロ(13) ノート(12) ダイソー(12) thinkpad(12) rcs(12) f-01a(12) ヤマダ電機(12) ganttproject(12) 無印(11) ppm(11) レビュー(11) カイロ(11) 壁紙(11) 静電気(10) 動画(10) バッグインバッグ(10) ヨドバシカメラ(10) サンプル(10) アジェンダとは(10) wiki(10) ミノルタ(10) グッズ(10) 作り方(10) tortoisesvn(10) firefox(9) so905ics(9) memcached(9) 画像(9) gmail(9) ハクキンカイロ(9) 口コミ(9) a6(9) sh-01a(9) 冷蔵庫(9) ほぼ日手帳(9) mp3(8) emacs(8) 日本語(8) openssh(8) xampp(8) カメラ(8) nikon(8) 設定(8) 写真(8) 値段(7) flash(7) 方眼(7) web(7) docomo(7) カバー(7) リポジトリ(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.234933s / load averages: 0.45, 0.52, 0.48
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク