当用错误的参数调用JVM时,我希望它退出并返回错误代码:
java -x && echo ok || echo Failed AS EXPECTED
Unrecognized option: -x
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Failed AS EXPECTED
现在,如果我使用另一个无法识别的参数,它会立即退出,但不会返回错误代码:
# Now that's a CAPITAL X
java -X 2>/dev/null && echo ok || echo Failed AS EXPECTED
ok
- 为什么在这种情况下没有错误代码
- 如果我没有收到错误,我如何检测JVM没有机会运行代码
没有错误,因为-X(大写X(是有效的命令行参数。
它使Java打印关于错误流的额外选项的帮助。