[英]Unhandled exception java.net.MalformedURLException in an Android app
我的代碼有問題
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/"
以查看其是否適用,但仍然給我同樣的例外
編輯:我意識到我在我的網站名稱中有一個錯誤。 它在http:之后遺漏//。 但是,更改后,我仍然得到“ java.net.MalformedURLException”
我意識到了問題所在。 此錯誤意味着我正在調用的方法是使用throws
聲明的,因此必須使用try{}catch(){}
或通過添加相同的throws
如果您應該在附加之前對它進行編碼,請確保String code
沒有任何空格
發送以下網址時,我遇到了類似的錯誤
字符串unEncodedUrl =“ https://yXXXXXXdh.execute-api.us-east-1.amazonaws.com/prod/helloWorld?date=2017年 12月29日”;
URL url =新URL(unEncodedUrl);
上一行已引發錯誤,因為日期url查詢值中有空格
因此您可以通過對日期值進行編碼來解決
字符串encodeUrl =“ https://yXXXXXXdh.execute-api.us-east-1.amazonaws.com/prod/helloWorld?date= ”“ + URLEncoder.encode(finaldate,” utf-8“);
注意:請勿對整個URL進行編碼,而僅對包含空格的部分進行編碼
您缺少/
嘗試使用“ 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();
}
}
您在網址中缺少/。 應該是http://
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.