2014-07-08 3 views
0

Я разрабатываю приложение для Android, который считывает веб-страницу с помощью AsyncTask .I имеет 2 AsyncTask классов, читает другую страницу, один внутри службы, другие not.In обоих случаев URL-соединение метод заключен внутри примерки уловом блока, но их улов блоки отличаются (TimeoutException поймать блок отсутствует во 2-й AsyncTask класса, пытались поймать или бросить его вручную, но не удалось) .Even, хотя их связь методы такие же, их try-catch блоки разные, но мне нужно поймать TimeoutException в обеих задачах. Вот часть моего 1-го класса AsyncTaskJava «TimeoutException» не может быть выброшен или пойманной

try { 
    url=new URL(link); 
    huc=(HttpURLConnection) url.openConnection(); 
    huc.setRequestMethod("GET"); 
    huc.setDoOutput(true); 
    huc.setReadTimeout(READ_TIMEOUT); 
    huc.connect(); 
    dothework(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} catch (TimeoutException e) { 
    showErrorMsg(); 
    e.printStackTrace(); 
} 

и часть второго AsyncTask класса

try { 
    url = new URL(link); 
    HttpURLConnection huc=(HttpURLConnection) url.openConnection(); 
    huc.setReadTimeout(5000); 
    huc.setDoOutput(true); 
    huc.setRequestMethod("GET"); 
    huc.connect(); 
}catch (MalformedURLException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } catch (UnsupportedEncodingException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } catch (IOException e) { 
    Toast.makeText(ctx, e.getMessage(), Toast.LENGTH_LONG).show(); 
    e.printStackTrace(); 
    } 

ответ

0

Я не уверен, но я думаю, что HttpConnection является AsyncTask уже. Итак, я думаю, что вы звоните в AsyncTask внутри другого.

+0

Это просто URLConnection с поддержкой специфичных для HTTP функций. –