public void AddPolicy(string policyName, Action <IExceptionPolicyBuilder> configure) { Guard.ArgumentNotNullOrEmpty(policyName, nameof(policyName)); Guard.ArgumentNotNull(configure, nameof(configure)); ExceptionPolicyBuilder builder = new ExceptionPolicyBuilder(this.ServiceProvider); configure(builder); _policies.Add(policyName, builder.Build()); }
/// <summary> /// Register a new exception policy. /// </summary> /// <param name="policyName">The name of exception policy to register.</param> /// <param name="configure">A <see cref="Action{IExceptionPolicyBuilder}"/> to build the registered exception policy.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">The <paramref name="policyName"/> is null.</exception> /// <exception cref="ArgumentException">The <paramref name="policyName"/> is a white space string.</exception> /// <exception cref="ArgumentNullException">The <paramref name="configure"/> is null.</exception> public IExceptionManagerBuilder AddPolicy(string policyName, Action <IExceptionPolicyBuilder> configure) { Guard.ArgumentNotNullOrWhiteSpace(policyName, nameof(policyName)); Guard.ArgumentNotNull(configure, nameof(configure)); ExceptionPolicyBuilder builder = new ExceptionPolicyBuilder(this.ServiceProvider); configure(builder); _policies.Add(policyName, builder.Build()); return(this); }