重试前的操作
Action before retry
我有这个用例,对于某些错误,我需要在重试之前执行操作;否则,请重试。
像这样:
try
{
action:
<action>
}
catch (SpecialException)
{
<cleanup>
goto action:
}
catch (Exception)
{
goto action:
}
Polly 可以吗?
向Retry(Action<Exception, int> onRetry)
注册句柄,该动作将在重试前执行。所以你可以在某些情况下清理。
Policy.Handle<Exception>().Retry((ex, count) => {
if(ex is NotImplementedException)
{
Console.WriteLine("clear up");
}
}).Execute(() => {
Console.WriteLine("throw exception");
throw new Exception();//or NotImplementedException
});
我有这个用例,对于某些错误,我需要在重试之前执行操作;否则,请重试。
像这样:
try
{
action:
<action>
}
catch (SpecialException)
{
<cleanup>
goto action:
}
catch (Exception)
{
goto action:
}
Polly 可以吗?
向Retry(Action<Exception, int> onRetry)
注册句柄,该动作将在重试前执行。所以你可以在某些情况下清理。
Policy.Handle<Exception>().Retry((ex, count) => {
if(ex is NotImplementedException)
{
Console.WriteLine("clear up");
}
}).Execute(() => {
Console.WriteLine("throw exception");
throw new Exception();//or NotImplementedException
});