Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗Update the question所以堆栈溢出的值小于aa>。
我有一个循环,在每次迭代中执行一个操作(pdf生成)
如果在一次迭代中出现异常(在生成pdf时),我想再试3次;然后再转到下一次迭代/记录。
最好的方法是什么?
谢谢。

最佳答案

一个简单的方法是在主循环中使用嵌套循环,并在那里计算重试次数,如下所示:

foreach (var item in allReportingItems) {
    var retries = 0;
    var reportIsGenerated = false;
    do {
         reportIsGenerated = TryGeneratingReport(item);
         retries++;
        // The loop will end when the report gets generated
        // or when the retries count would be exhausted
    } while (!reportIsGenerated && retries < 3);
    if (!reportIsGenerated) {
        Concole.Error.WriteLine(
            "Unable to generate report for {0} after 3 retries", item
        );
    }
}

10-04 18:32