アサーションがオンになっているかどうかをJavaプログラムの出力の最初の行に出力します。これはどうすればいいですか?JVMでアサーションがオンになっているかどうかを検出するにはどうすればよいですか?
編集:追加の要件は、有用な作業を行う前にプログラムを終了しないことです。
アサーションがオンになっているかどうかをJavaプログラムの出力の最初の行に出力します。これはどうすればいいですか?JVMでアサーションがオンになっているかどうかを検出するにはどうすればよいですか?
編集:追加の要件は、有用な作業を行う前にプログラムを終了しないことです。
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);