2012-02-23 2 views
1

У меня есть класс, который возвращает строку данных из URL-адреса, если есть соединение, если оно не возвращает null.Java - java.net.NoRouteToHostException: нет пути к хосту: connect

Моя проблема заключается в том, что я делаю чек:

if (str == null) { 
    System.out.println("Error: No Connection"); 
} 

Однако, несмотря на это работает, это также печатается в консоли:

java.net.NoRouteToHostException: No route to host: connect 

мне интересно, что это означает и если это означает, что я сделал ошибку? Несмотря на то, что программа работает нормально, другое это небольшое исключение, которое продолжает появляться. Помогите?

+0

Я думаю, что Java пытается установить TCP-сеанс, но все пакеты выбрасываются из окна по сети, поэтому исключение. Вы уверены, что сами не печатаете его на консоль (например, используя printStackTrace или подобное)? –

+0

Два варианта, о которых я могу думать: либо есть брандмауэр, либо что-то блокирует порт на сервере, который вы пытаетесь достичь, или вы открыли слишком много соединений (сокетов), не закрывая их. – alfasin

+0

@owlstead, я уверен. – mino

ответ

0

Полная догадка, пока не отправлять больше кода ... но я думаю, что вы забыли вернуться после того, как вы печатаете свой обратный сообщение ул, если не его будет пытаться выполнить остальную часть кода ..

private String myFunction(String url){ 
    if (str == null) { 
     System.out.println("Error: No Connection"); 
     return null; 
    } 
    //do other stuff that you are already doing . 

} 
Смежные вопросы