Java:如何编写一个 try-catch-repeat 块?

我知道有一种相反的方法可以做到这一点。我想知道是否有一种很好和紧凑的方法可以做到这一点。


答案 1

传奇 - 您的答案可以改进;因为如果你失败了,你就会吞下异常。好多了:numTries

while (true) {
  try {
    //
    break;
  } catch (Exception e ) {
    if (--numTries == 0) throw e;
  }
}

答案 2

我已经看到了一些方法,但我使用了以下内容:

int numtries = 3;
while(numtries-- != 0)
   try {
        ...
        break;
   } catch(Exception e) {
        continue;
   }
}

不过,这可能不是最好的方法。如果您有任何其他建议,请放在这里。

编辑:oxbow_lakes提出了更好的方法。请看一下...


推荐