假设以下代码片段:
public synchronized void kill() {
log.info("Killing {}...", this);
Runtime.getRuntime().halt(HALT_STATUS_CODE);
assert false; // Line should never reach this point!
}
由于断言取决于断言参数是否启用。有没有更好的方法来标记和检查在执行时永远不会到达的行?(不仅此片段)
断言文档:https://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html
将其替换为 IllegalStateException,替换
assert false;
跟
throw new IllegalStateException("JVM is still running after calling halt");
你可以抛出一个RuntimeException
。