有没有办法检查程序是否以 -ea
启动,如果不是,我可以退出/失败?如果断言失败,我想得到通知。因此,我认为没有这个就启动是一个严重的错误。
最佳答案
做出保证会失败的断言。
如果该断言之后的代码运行,则断言未启用。
boolean asserted = false;
try {
assert false;
} catch (AssertionError e) {
asserted = true;
}
if (!asserted) {
System.err.println("Missing '-ea' flag; exiting.");
System.exit(1);
// ... or throw a RuntimeException, depending on your environment.
}
也就是说,我并不是 100% 相信强制断言是个好主意。 IMO 断言更多的是用于开发而不是正常的错误检查/处理。
关于java - 在 Java 中,如果我的程序在没有 -ea 的情况下运行,我怎么会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14445312/