不知道我是不是第一个碰到这个,但我会在这里发布以节省时间。好吧,所以在玩完并尝试HttpURLConnection来做一些来自Android的HTTP请求后,我想知道如果我在我的手机上禁用互联网时会发生什么。我偶然发现了一个有趣的错误:
URL url = new URL("http://google.com");
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setReadTimeout(15000);
try {
InputStream in = new BufferedInputStream(c.getInputStream());
httpResult = readStream(in);
} catch (IOException e) {
Log.e(TAG, "Error: ", e);
} finally {
c.disconnect();
}
如果我在手机上禁用互联网时运行此代码,则IOException会被 no stacktrace 捕获。发生了什么事?
答案 0 :(得分:0)
所以在经过一些挖掘之后,我发现实际上抛出了一个IOException的子类型: UnknownHostException 。 HttpURLConnection.getInputStream()和HttpURLConnection.connect()的Android文档对此一无所知。