当捕获异常而不是继续时,是否可以在循环中再次迭代?

Bis*_*itz 0 java iteration loops exception try-catch

对不起,如果我的标题有点混乱。

我的程序正在执行一些网络抓取,因此会由于随机网络条件而捕获一些 SocketTimeoutException。现在,当 SocketTimeoutException 被捕获时,该特定循环将被跳过,因此我会错过一些数据。我确信当跳过循环中的代码再次运行时,一切都会好起来的。由于我正在抓取大量数据(> 100 万组数字),我不想记录异常循环并再次手动运行它们。捕获异常时有没有办法再次运行相同的循环?

try{
    for(){
        someCode
        ...
    }
}catch(IOException){
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*teo 5

只需将try-catch放在循环内

for () {

  try {
    // somecode
    // ..
  } catch ( IOException ioException ) {
    // handle
  }

}
Run Code Online (Sandbox Code Playgroud)