我是Java新手。我正在尝试创建一个Java程序,它能够在程序(工作正常)中发生异常时重试。现在我遇到的问题是 for循环。在这段代码中,当for循环中出现问题时,程序本身将跳出该循环并转到catch方法。之后如果重试次数小于MAX_RETRIES ,则程序将 从头开始重新启动 。这就是我正在努力的方向。我想要的是让我们说如果打印时for循环中出现异常,请说5,我希望程序重试for循环中的异常发生而不是从头开始重新启动。有办法做到吗?我正在努力解决这个问题,似乎无法找到办法。将提供帮助和代码以供参考。这是我能想到的简化代码的最佳方式。在我的实际应用程序中,我现在使用的for循环是迭代数据库中的记录列表。
main.java
public class main {
private static int retryCounter = 1;
private static int MAX_RETRIES = 3;
public static void main(String[] args) {
int retry = 1;
try {
while (retry <= MAX_RETRIES) {
//method1
//stuff code
//more code
//method2
for (int i = 0; i < 11; i++) {
System.out.println("i");
}
}
System.out.println("-----Finish Process-----");
break;
} catch (Exception e) {
e.printlnStackTrace();
retry++;
if (retry == MAX_RETRIES) {
System.out.println("Program retried" + retry);
System.out.println("Program Terminated");
}
}
}
答案 0 :(得分:1)
我认为它解决了你的问题
MetroWindow
答案 1 :(得分:0)
我有一个可能会有所帮助的想法。我无法显示任何示例代码,但在完成执行程序的每个步骤后,可能可以设置标志/信号 1 。然后,当程序重试时,它可以自动跳到它最后停止的代码中的那一点。
1:我不知道它在java中的名称是什么