gpt4 book ai didi

java - 函数执行良好,没有错误,但没有返回预期的响应

转载 作者:行者123 更新时间:2023-12-02 04:55:42 24 4
gpt4 key购买 nike

public static ArrayList<String> cleanUpUrls(ArrayList<String> oldList,String url) {
ArrayList<String> cleanedList = new ArrayList<String>();
for (int i =0; i <oldList.size(); i++) {
boolean isAnchorLink = false;
String link = oldList.get(i);
link = link.toLowerCase();

//clean href="" part
link = link.substring(link.indexOf("\"") + 1);
link = link.substring(0, link.indexOf("\""));

//check if anchor link
if (link.charAt(0) == '#') {
isAnchorLink = true;
}

//relative to absolute
if (link.charAt(0) == '/') {
link = url.concat(link);
}

//if no http or https then add
if (link.indexOf("http") == -1 && link.indexOf("https") == -1) {
String http = "http://";
link = http.concat(link);
}

//remove query strings
if (link.indexOf("?") != -1) {
link = link.substring(0,link.indexOf("?"));
}


if (!isAnchorLink){

cleanedList.add(link);
}

} System.out.println("xxxx");
return cleanedList;
}

这是一个函数cleanUpUrls,它接受字符串数组作为参数,并删除所有 anchor 链接,即href =""部分,并将它们转换为绝对链接(如果它们)是相对的。

问题是,当我调用它时,它执行时不会出现编译时/运行时错误,但不会返回预期的响应。事实上,如果我在函数调用后打印任何内容,它不会打印任何内容,甚至 println("xxx"); 也不会显示。我没有收到任何编译/运行时错误。

最佳答案

这里可能有一个异常(exception):

link = link.substring(0, link.indexOf("\"")); 

因为在您的示例中 "x" 不包含 '\' 第二个参数将为 -1 并导致 substring 抛出和异常(IndexOutOfBoundsException)。

由于您捕获了异常但没有打印任何内容,因此看起来运行时没有错误,因此请放置一个打印代码来显示异常:

catch (Exception e) {
System.out.println("Exception caught: " + e);
}

关于java - 函数执行良好,没有错误,但没有返回预期的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28793599/

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