Я делаю удаленный вызов в моем приложении.Я хочу обрабатывать разные исключения и выполнять разные задачи в случае соответствующих исключений.
Я изучаю MalformedURLException
, UnknownHostException
, ConnectionException
и SocketTimeoutException
.
Я знаючто в случае MalformedURLException
я хочу отбросить запрос, и это довольно просто.
catch (MalformedURLException e) {
log.info("MalformedURLException while fetching log");
log.info("Content Url is Invalid and is being Dropped");
return keywords;
}
Теперь в случае отключение Интернета Я хочу повторить запрос после небольшогоинтервал.Вот какое исключение я должен обработать?
Я запутался между ConnectException
и UnknownHostException
.
catch (UnknownHostException e) {
log.info("UnknownHostException while fetching log");
log.info("Internet disconnectivity Retrying Content Url");
keywords.add(value);
Thread.sleep(1000);
return keywords;
}
Далее я использую con.setConnectTimeout(20000);
и con.setReadTimeout(30000);
в своем коде.Так что я предполагаю, что если это истечет, я смогу обработать SocketTimeoutException
?
catch (SocketTimeoutException e) {
log.info("SocketTimeoutException while fetching log:");
keywords = increaseRetryCount(keywords, result, retryCount, url);
return keywords;
}
Правильно ли я подхожу к проблеме и использую правильные исключения?Пожалуйста, скажите мне, если я что-то упустил.