我有一个希望能够自动重新启动的 Java 程序(例如,如果检测到致命错误,用户可以选择重新启动或退出)。我怎样才能做到这一点?
问问题
2488 次
1 回答
0
您无法从 JVM 启动的真正致命错误中恢复。您可以从您自己的程序启动的异常中恢复,但我无法想象仅重新启动应用程序是一个好的解决方案。优雅的恢复应该包括以不同的方式对待每个问题:您找不到文件?询问用户正确的路径。您无法连接到互联网?给用户第二次尝试选项,以防他忘记打开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
}
但正如我之前所说,我不会实施这个解决方案。
于 2014-03-11T16:48:26.067 回答