IOException Java

时间:2017-11-17 18:58:32

标签: java exception

我尝试在没有互联网连接的情况下运行这段代码,期望触发IOException:

import java.net.*;
import java.io.*;

public class API_connect {

    public static void main(String[] args) {
        try {
            URL API = new URL("http://api.football-data.org");
            URLConnection API_connection = API.openConnection();
        }
        catch(MalformedURLException exception) {
            System.out.print(exception);
        }
        catch(IOException exception) {
            System.out.print(exception);
            System.out.print("is something going on here?");
        }                   
    }

}

嗯......令我惊讶的是没有打印出来,我无法弄明白为什么。不会缺少互联网连接是导致IOException抛出的主要原因吗?

1 个答案:

答案 0 :(得分:6)

openConnection()实际上并没有尝试连接:

  

应该注意,URLConnection实例在创建时不会建立实际的网络连接。只有在调用URLConnection.connect()时才会发生这种情况。

尝试在其上调用connect()

或者,您可以尝试以下方法:

new URL(...).openStream().read();

那实际上会尝试从该URL读取1个字节并且会失败。