我正在使用 Polly 重试策略在抛出异常时重试。这里我试图在循环中使用该重试策略。因此,在执行 foreach 循环时,如果它抛出任何异常,则 Polly 重试。这部分工作正常。但我想继续重试后循环内的下一次迭代。但在2次重试后抛出最终异常并返回调用方法。
static void Main(string[] args)
{
RetryPolicy();
}
private static void RetryPolicy()
{
try
{
var retryPolicy = Policy.Handle<Exception>().Retry(2);
List<int> list = new List<int>();
list.AddRange(new int[] { 0, 1, 2, 3, 4 });
foreach(var item in list)
{
retryPolicy.Execute(() => Calculate(item));
}
}
catch (Exception ex)
{
}
}
private static void Calculate(int j)
{
int a = 10;
int b = j;
var c = a / b;
}
在第一次迭代中,它给出了错误,在 2 次重试后,我想返回循环并继续每个循环内部的其他项目。有什么方法可以用 Polly 实现这一点。请建议。