Qua*_*Oat 8 java connection exception-handling
我有一些代码连接到URL以下载文件,然后对其执行一些处理.但是,有时我收到错误java.net.SocketException: Connection reset.
我想在收到此错误时重试下载该文件,在放弃之前最多说3次.我想知道什么是最好的结构方式.
以下是否正常.将try-catch块放在while循环内是否可以接受,还是有更好的方法?
非常感谢所有帮助!
while(!connected && retries > 0) {
retries--;
URL downloadUrl;
URLConnection conn;
try {
downloadUrl = new URL(url);
conn = downloadUrl.openConnection();
conn.connect();
connected = true;
// Perform processing on downloaded file here
} catch (IOException e) {
Logger.batchLog(e);
}
}
Run Code Online (Sandbox Code Playgroud)
我一直认为吞下异常总是不好的,但我认为在这里,这是判断连接是否确实被重置的唯一方法。我想您正在根据您的要求处理异常,所以这就是全部问题。
但我会这样做,这样你就不会接受最后一个例外。如果失败三次,您将需要重新抛出该异常或以某种方式优雅地失败。
| 归档时间: |
|
| 查看次数: |
7230 次 |
| 最近记录: |