Javaプログラム出力の最初の行に、アサーションがオンになっているかどうかを出力したいと思います。どうすればよいですか?
編集:追加の要件は、有用な作業を行う前にプログラムを終了してはならないということです。
try {
assert false;
System.out.println("Assertions disabled.");
}
catch(AssertionError ae) {
System.out.println("Assertions enabled.");
}
これはどう?Javaはわかりませんが、これでうまくいくと思います:
try {
assert false;
System.out.println("assertions are disabled");
} catch (AssertionError e) {
System.out.println("assertions are enabled");
}
より優れたパフォーマンスのソリューション (例外をスローしない) は次のとおりです。
boolean assertionsEnabled = false;
assert (assertionsEnabled = true);