我正在我的应用程序中进行远程调用。我想处理不同的异常,并在不同的异常情况下执行不同的任务。
我正在调查
MalformedURLException
,
UnknownHostException
,
ConnectionException
和
SocketTimeoutException
.
我知道万一
格式错误的异常
我想放弃这个请求,而这个请求相当简单。
catch (MalformedURLException e) {
log.info("MalformedURLException while fetching log");
log.info("Content Url is Invalid and is being Dropped");
return keywords;
}
现在万一
互联网断开
我想在一小段时间后重试请求。这里我应该处理哪个异常?
我很困惑
ConnectException
和
未知幻觉
.
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;
}
我是否正确地处理了问题并使用了正确的异常?如果我遗漏了什么,请告诉我。