HttpURLConnection并没有互联网

时间:2013-12-03 21:01:16

标签: java android httpurlconnection

不知道我是不是第一个碰到这个,但我会在这里发布以节省时间。好吧,所以在玩完并尝试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 捕获。发生了什么事?

1 个答案:

答案 0 :(得分:0)

所以在经过一些挖掘之后,我发现实际上抛出了一个IOException的子类型: UnknownHostException 。 HttpURLConnection.getInputStream()和HttpURLConnection.connect()的Android文档对此一无所知。