这个问题在这里已经有答案了:
如何重新启动java应用程序(13个答案)6年前关门了。我有一个java程序,我希望能够自动重启(比如,在检测到致命错误的情况下,用户可以选择重启或退出)。我该怎么做?
q3aa05251#
您无法从jvm启动的真正致命错误中恢复。您可以从自己的程序启动的异常中恢复,但我无法想象仅仅重新启动应用程序是一个好的解决方案。一个优雅的恢复应该包括区别对待每个问题:你找不到一个文件?向用户询问正确的路径。无法连接到internet?给用户一个第二次尝试的选择,以防他忘记打开wifi。。。等等。我的建议是:捕捉错误,然后调用初始方法:
public class Example { ... public static void main(String[] args) { boolean exit=false; while(!exit) { try { runMyProgram(args); } catch (Exception e) { exit=askIfTerminateOrNot(); } } } ... //Needed methods }
但正如我之前所说,我不会实施这个解决方案。
1条答案
按热度按时间q3aa05251#
您无法从jvm启动的真正致命错误中恢复。您可以从自己的程序启动的异常中恢复,但我无法想象仅仅重新启动应用程序是一个好的解决方案。一个优雅的恢复应该包括区别对待每个问题:你找不到一个文件?向用户询问正确的路径。无法连接到internet?给用户一个第二次尝试的选择,以防他忘记打开wifi。。。等等。
我的建议是:捕捉错误,然后调用初始方法:
但正如我之前所说,我不会实施这个解决方案。