Я разрабатываю приложение для 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();
}
Это просто URLConnection с поддержкой специфичных для HTTP функций. –