gpt4 book ai didi

java - 递归调用函数,直到获得所需的输入

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

方法 getHtmlFromUrl 有时会导致异常。然而,有时它会输出一个字符串。如何尽可能少地调用函数obtainWorkingHtml,以便尽快从中获取字符串?

到目前为止,我已经尝试过基本的 try/catch 递归。我听说过一些关于尝试使用 do { 语句的事情,但不知道从哪里开始。

  public static String obtainWorkingHtml() throws Exception {
try {
String randomUrl = "https://www." + randomWord() + ".com";
return getHtmlFromUrl(randomUrl);

} catch(Exception e) {
return obtainWorkingHtml();
}
}

照原样,程序总是生成一个字符串。有时需要很长时间,但总是如此。理想情况下,花费的时间会更少。

编辑:我本质上是试图从可能存在或不存在的网站获取 HTML 数据。这可能会导致各种错误,因此我还没有定义预期的异常(如果这很重要的话)。

最佳答案

如果递归级别是无限/不确定的,则递归是一个坏主意。递归深度受到堆栈大小的限制,在某些时候您会收到 StackOverflowError。为了获得相同的效果但不存在堆栈溢出的可能性,请清空您的 catch block 并将 try/catch 包装在 while(true) block 内。

关于java - 递归调用函数,直到获得所需的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014967/

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