我有一个Java程序,我希望能够自动重启(例如,如果检测到致命错误,用户可以选择重新启动或退出)。我怎么能这样做?
答案 0 :(得分: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
}
但正如我之前所说,我不会实施这个解决方案。