2

有人可以解释为什么下面的代码在第一次尝试时失败并抛出未处理的异常吗?非常感激。

using Polly;
using System;
using System.Threading;

namespace TestPolly
{
    class Program
    {
    static void Main(string[] args)
    {
        Policy.Handle<DivideByZeroException>().Retry(10).Execute(() => DoSomething(0));
    }

    private static void DoSomething(int num)
    {
        Thread.Sleep(1000);
        Console.WriteLine("Doing division");
        var y = 2 / num;
    }
}

例子

4

1 回答 1

2

您只是在异常中看到调试器中断,如Polly wiki 上的这篇文章中详细说明的那样

有人可以解释为什么下面的代码在第一次尝试时失败并抛出未处理的异常吗?

代码没有失败,也没有抛出未处理的异常。当您按 F5(或单击调试器中的继续)继续调试时,您将看到执行继续 - 并且异常正在由策略处理。

于 2018-02-07T21:40:12.683 回答