gpt4 book ai didi

java - 为什么 java.exe 在 RuntimeException 上不返回错误代码?

转载 作者:行者123 更新时间:2023-12-01 19:43:10 24 4
gpt4 key购买 nike

我从批处理文件运行 java.exe ,我的 java 应用程序(这是一个 LibGDX 应用程序,顺便说一句)总是返回 0 作为返回代码(到命令提示),即使应用程序崩溃。

我的问题是这样的:为什么 Java 不返回某种错误代码(如错误代码 1),是否有可能以某种方式告诉 java 返回错误代码,例如运行时异常

我的问题是这样的:在我的批处理文件中,我有以下代码:

IF %ERRORLEVEL% NEQ 0 ( 
@echo on
echo Batch execution finished with error: %errorlevel%
pause
)

但是,此代码永远不会被执行,因此我的命令提示符会在应用程序完成时关闭。但是,如果应用程序崩溃,我希望它保持打开状态,以便我可以分析错误。

请注意,我不能在 RuntimeException 上任意调用 System.exit(1),因为我的应用程序使用 LibGDX,它在一个我无法控制的单独线程中运行。换句话说,我无法在 main() 方法中捕获从该线程抛出的 RuntimeException。

最佳答案

您的代码可能从未显式调用System.exit(someReturnCode)

如果没有显式调用,您最终会在某个时刻发生默认的System.exit(0)

无论您的设置是什么:除非您调用该方法,否则 RC 将始终为 0!

正如评论所暗示的,您唯一的希望是添加 UncaughtExceptionHandler您找到了一种方法来让您的代码收到有关其他地方的异常的通知。

关于java - 为什么 java.exe 在 RuntimeException 上不返回错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54593578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com