gpt4 book ai didi

java - 如何解决这个糟糕的递归示例中的 StackOverflowError?

转载 作者:行者123 更新时间:2023-12-02 06:59:23 26 4
gpt4 key购买 nike

我遇到了与错误递归和 StackOverflowError 相关的编程问题。我在一个单独的线程中处理了这个案例:

public void subscribe(final String channel) {
try {
// blocking command
client.subscribe(channel);
} catch(ConnectionException e) {
subscribe(channel);
}
}

假设此 ConnectionException 仅定期发生(例如每分钟)。几百次之后,我显然得到了一个 StackOverflowError。

我知道发生了什么,但我不知道如何解决这个问题(即默默地重新订阅而不增加调用堆栈)。有什么想法吗?

最佳答案

为什么不使用像他这样的简单循环?

public void subscribe(final String channel) {
while(true){
try {
// blocking command
client.subscribe(channel);
return;
} catch(ConnectionException e) {
// ignored
}
}
}

关于java - 如何解决这个糟糕的递归示例中的 StackOverflowError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870550/

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