我的代码中存在问题
void getItembyID(String code){
String site;
site = "http:/www.sprii.net/db/getItem.php?pid="+code+"/";
URL url = new URL(site);
}
在IntelliJ中写入时,我在第三行得到一个例外。问题出在URL url = new URL(site);
我应该尝试/抓住它吗?为什么会这样?我尝试输入"http://www.google.com/"
以查看它是否有效,但它仍然给我相同的异常
答案 0 :(得分:2)
我意识到问题所在。
此错误意味着我正在调用的方法是throws
声明的,因此必须使用try{}catch(){}
处理或添加相同的throws
答案 1 :(得分:0)
确保String code
没有任何空格,如果你在追加
发送以下网址时出现类似错误
String unEncodedUrl = “https://yXXXXXXdh.execute-api.us-east-1.amazonaws.com/prod/helloWorld?date=29 2017年12月“;
网址url =新网址(unEncodedUrl);
上述行已抛出错误,因为日期网址查询值中有空格
所以你可以通过编码日期值
来解决它String encodedUrl = “https://yXXXXXXdh.execute-api.us-east-1.amazonaws.com/prod/helloWorld?date=” + URLEncoder.encode(finaldate, “UTF-8”);
注意:不对整个网址进行编码,只对包含空格的部分进行编码
答案 2 :(得分:-1)
你错过了/
尝试使用“http://www.sprii.net/db/getItem.php?pid=”
也许您应该扩展此功能,以便在出现错误时可以看到更多错误,例如下面的代码。 (顺便说一下,这对我来说,但我不知道参数的任何有效“代码”值)
public void getItembyID(String code) {
String site;
site = "http://www.sprii.net/db/getItem.php?pid=" + code + "/";
try {
URL url = new URL(site);
} catch (MalformedURLException e) {
System.out.println("Error: " + e.getMessage());
e.printStackTrace();
}
}
答案 3 :(得分:-3)
你错过了网址中的/。 应该是http://