Я новичок в Полли и пытаюсь понять, как работает, начиная с самых основ.
Чтобы проверить повторные попытки, я попытался создать код (Print) с 33% для генерации исключения DivideByZeroException. Когда сгенерирована ошибка, она поднимается до policy.Execute, похоже, не управляется Polly.
Кто-нибудь может помочь мне настроить этот код? Я использую .Net Framework 4.7.2.
using System;
using Polly;
class Program
{
static void Main(string[] args)
{
var policy = Policy
.Handle<DivideByZeroException>()
.Retry();
policy.Execute(() => Print());
Console.ReadKey();
}
private static void Print()
{
var rand = new Random();
int a = rand.Next(1000, 2000);
int b = rand.Next(0, 2);
Console.WriteLine("a = {0} - b {1}", a, b);
int c = a / b;
Console.WriteLine("c = {0}", c);
}
}
Random
, исключение может не возникнуть. - person ErikHeemskerk   schedule 03.10.2020Random
один раз как одну статическую переменную вместо создания новогоRandom
при каждом запускеPrint
. - person Theodor Zoulias   schedule 03.10.2020