<PackageReference Include="Polly" Version="7.2.4" />

FallbackPolicy<TResult>

public class FallbackPolicy<TResult> : Policy<TResult>, IFallbackPolicy<TResult>, IFallbackPolicy, IsPolicy
A fallback policy that can be applied to delegates returning a value of type TResult.
using System; using System.Diagnostics; using System.Threading; namespace Polly.Fallback { public class FallbackPolicy<TResult> : Policy<TResult>, IFallbackPolicy<TResult>, IFallbackPolicy, IsPolicy { private Action<DelegateResult<TResult>, Context> _onFallback; private Func<DelegateResult<TResult>, Context, CancellationToken, TResult> _fallbackAction; internal FallbackPolicy(PolicyBuilder<TResult> policyBuilder, Action<DelegateResult<TResult>, Context> onFallback, Func<DelegateResult<TResult>, Context, CancellationToken, TResult> fallbackAction) : base(policyBuilder) { if (onFallback == null) throw new ArgumentNullException("onFallback"); _onFallback = onFallback; if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); _fallbackAction = fallbackAction; } [DebuggerStepThrough] protected override TResult Implementation(Func<Context, CancellationToken, TResult> action, Context context, CancellationToken cancellationToken) { return FallbackEngine.Implementation<TResult>(action, context, cancellationToken, base.ExceptionPredicates, base.ResultPredicates, _onFallback, _fallbackAction); } } }