2014-09-02 4 views
0

Я пытаюсь разработать под Android. Теперь я пытаюсь использовать сеть.Исключение не выбрано

У меня есть «менеджер класс»

private String makeQuery(String string){ 
    Log.d("makeQuery", "in"); 
    try{ 
     NetTask a = new NetTask(server_url); 
    }catch(IOException e){ 
     Log.d("makeQuery", "exception"); 
    } 
    Log.d("makeQuery", "out"); 
    return "string"; 
} 

Это есть метод для запросов на собственный сервер API через HTTP. Он использует NetTask объект, NetTask наследования AsyncTask

public class NetTask extends AsyncTask<String, Void, Void> { 

HttpURLConnection connection; 

public NetTask(URL server) throws IOException{ 
    Log.d("NetTask", "Create"); 
    connection = (HttpURLConnection)server.openConnection(); 
    connection.setReadTimeout(10000); 
    connection.setConnectTimeout(15000); 
    connection.setRequestMethod("GET"); 
    connection.setDoInput(true); 
    connection.setDoOutput(true); 
    Log.d("NetTask", "Connect"); 
    connection.connect(); 
    Log.d("NetTask", "Response"); 
    int response = connection.getResponseCode(); 
    Log.d("NetTask", "The response is: " + response); 
} 

В моем случае я получаю следующие журналы:

[makeQuery]

  • в

[NetTask]

  • Создать
  • Connect

Итак, почему линия Log.d ("makeQuery", "из"); недоступно?

+0

Используйте, наконец, после улова. Исключение должно быть зарегистрировано, хотя. – icbytes

+1

Может быть, это еще одно исключение? –

+0

Да, ты прав. Он бросает что-то еще, я использую Exception вместо IOException, и он работает. Благодарю. – chubakur

ответ

1

Почему Log.d("makeQuery", "out"); недоступен?

try{ 
     NetTask a = new NetTask(server_url); 
    }catch(IOException e){ 
     Log.d("makeQuery", "exception"); 
    } 

Причина заключается в том, что NetTask класс бросает другого рода исключение.

вы поменяете в

}catch(Exception e){ 
     Log.d("makeQuery", "exception"); 
    } 

но хорошая практика говорит поймать правильное исключение, комментировать обработку исключений и смотреть в ваш LogCat для типа Exception.

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