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