Java 重新启动程序中的记录列表
我是Java新手。我正在尝试创建一个Java程序,该程序能够在程序中发生异常时重试自身(工作正常)。现在我遇到的问题是for循环中的。在这段代码中,当for循环出错时,程序本身将跳出该循环并转到catch方法。在此之后如果重试次数小于最大重试次数,则程序将从一开始重新启动。这就是我正在努力解决的问题。我想说的是,如果打印时for循环中出现异常,比如说5,我希望程序在for循环中出现异常的地方重试,而不是从头重新启动。有办法吗?我为此挣扎了一段时间,但似乎找不到一个办法。请提供帮助和代码以供参考。这是我能想到的简化代码的最好方法。在我的实际应用程序中,我现在的for循环是迭代数据库中的记录列表 main.javaJava 重新启动程序中的记录列表,java,Java,我是Java新手。我正在尝试创建一个Java程序,该程序能够在程序中发生异常时重试自身(工作正常)。现在我遇到的问题是for循环中的。在这段代码中,当for循环出错时,程序本身将跳出该循环并转到catch方法。在此之后如果重试次数小于最大重试次数,则程序将从一开始重新启动。这就是我正在努力解决的问题。我想说的是,如果打印时for循环中出现异常,比如说5,我希望程序在for循环中出现异常的地方重试,而不是从头重新启动。有办法吗?我为此挣扎了一段时间,但似乎找不到一个办法。请提供帮助和代码以供参考。
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");
}
}
}
公共类主{
私有静态int-retryCounter=1;
私有静态int MAX_重试次数=3;
公共静态void main(字符串[]args){
int重试=1;
试一试{
while(retry我有一个想法可能会有所帮助。我无法显示任何示例代码,但在您完成执行程序的每个步骤后,可能会设置一个标志/signal1。然后,当程序重试时,它可以自动跳到代码中最后停止的位置
1:我不知道它在java中叫什么,我想它解决了你的问题
public class main {
private static int retryCounter = 1;
private static int MAX_RETRIES = 3;
public static void main(String[] args) {
int retry = 1;
while (retry <= MAX_RETRIES) {
try {
//method1
//stuff code
//more code
//method2
int i=0;
while (i < 11) {
try {
System.out.println(i);
i++;
} catch (Exception e) {
e.printStackTrace();
i++;
if (i == MAX_RETRIES) {
System.out.println("Program retried" + retry);
System.out.println("Program Terminated");
}
}
}
retry++;
} catch (Exception e) {
e.printStackTrace();
retry++;
if (retry == MAX_RETRIES) {
System.out.println("Program retried" + retry);
System.out.println("Program Terminated");
}
}
}
System.out.println("-----Finish Process-----");
}
}
公共类主{
私有静态int-retryCounter=1;
私有静态int MAX_重试次数=3;
公共静态void main(字符串[]args){
int重试=1;
while(在“for”之外重试Declate“i”,并将此循环更改为“while”循环。同意@pasabaporaqui或为“for”添加一个try catch循环并将标志设置为再次循环我感谢您的回复。我想知道您是否可以提供一些代码或编辑我的代码?谢谢当您在for循环中出错时,您期望什么?假设我在循环中有10个项目。当项目4出现异常时,它将重试该项目4三次,而不是从项目1开始重试。如果异常在此处修复m 4,然后它将继续检查项目5、项目6、项目7等。