gpt4 book ai didi

java - 再次调用之前终止函数?

转载 作者:行者123 更新时间:2023-12-02 11:07:29 24 4
gpt4 key购买 nike

所以我一直在用 Java 编写一个程序。我有一个运行一些代码的函数,当代码抛出异常时我想再次调用它。像这样:

public void x (String str) {
try {
// Initialize
} catch (SomeException e) {
System.out.println("Initializing again...");
}
try {
// Do stuffz
} catch (SomeOtherException e) {
System.out.println("Trying again...");
x(str);
}
}

这可行,但如果抛出异常次数过多,则会抛出堆栈溢出错误。如何停止堆栈溢出错误?

最佳答案

使用循环而不是递归:

public void x(String str){
for(;;){ // equal to while(true)
try {
// Initialize
} catch (SomeException e) {
System.out.println("Initializing again...");
continue; // returning the loop
}
try {
// Do stuffz
break; // break out of loop if finished
} catch (SomeOtherException e) {
System.out.println("Trying again...");
}
}
}

一旦你完成了,就跳出这个循环,否则它会一直循环下去,直到你的电脑死机、太阳爆炸或宇宙卡住

关于java - 再次调用之前终止函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50859161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com