我们有一个 java 可执行文件,可以从命令行运行,例如:
>>java -jar something.jar
这将由 shell 脚本调用。我们怎样才能让shell脚本检测可执行jar是否抛出了异常?假设如果可执行 jar 没有异常完成,我们希望它返回“true”,如果抛出异常,则返回“false”。这可能吗?
最佳答案
我会一如既往地尝试。如果调用是脚本中的最后一个命令,则脚本无论如何都会执行此操作。否则捕获返回值$?
。
java -jar something.jar
result=$?
if [[ $result ]] ; then ... ; fi
# ...
exit $result
但是,我不会称其为“用脚本捕获异常”,因为您通常在导致异常的程序中并决定在哪里捕获它,以便您可以优雅地处理它,纠正,重试或在退出之前进行一些清理。这也是您可以在脚本内部做的某种程度的事情,并且应该这样做,甚至可以使用不同的数据或环境重新启动程序,因此这是有争议的。
关于java - Shell 脚本调用 java 可执行文件并捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48616117/