我试图在我的代码中引入一个MalformedURLException来测试我对它的处理,但无论我尝试什么,我似乎无法导致它。 (我传入了一个完全无意义的非url字符串,它仍然没有出现,我只是得到一个空响应)
我知道android开发人员参考描述:
当程序试图从错误的规范创建URL时,抛出此异常。
我想知道如何创建/提供这样一个不正确的规范
这是我正在尝试执行的代码
try {
HttpData data = request.composeHttpData();
//URL url = new URL(composeUrl(data));
URL url2 = new URL("mydomain:-2/invalidPort");
HttpsURLConnection conn = (HttpsURLConnection) getHttpClient().open(url2);
conn.setRequestMethod(data.getMethod());
//authentication
addAuthentication(conn);
//post body
if (data.getMethod() == POST) {
conn.setDoOutput(true);
data.writePostBody(conn.getOutputStream());
conn.getOutputStream().close();
}
if(conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
response.consumeResponse(conn.getInputStream());
}
response.setResponseHttpCode(conn.getResponseCode());
} catch (MalformedURLException e) {
e.printStackTrace();
throw new Error("Malformed URL encountered");
} catch (IOException e) {
e.printStackTrace();
} finally {
return response;
}
当我尝试调试代码时,它似乎从Url实例化跳转到return语句。
答案 0 :(得分:2)
怎么样
throw new MalformedURLException("Testing!");
答案 1 :(得分:2)
传递小于-1的端口号
URL url = new URL("http://mydomain:-2/invalidPort");