如何检测JVM由于错误而异常退出



当用错误的参数调用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
  1. 为什么在这种情况下没有错误代码
  2. 如果我没有收到错误,我如何检测JVM没有机会运行代码

没有错误,因为-X(大写X(是有效的命令行参数。

它使Java打印关于错误流的额外选项的帮助。

相关内容

最新更新