Exemple #1
0
        private TryResult Try(
            IBotOperation operation,
            ExecutionContext context,
            CancellationToken token)
        {
            try
            {
                base.InnerBot.Execute(operation, context, token);
                return(TryResult.Succeeded());
            }
            catch (Exception exception)
            {
                if (base.Configuration.HandlesException(exception))
                {
                    return(TryResult.Failed(exception));
                }

                throw;
            }
        }
Exemple #2
0
        private async Task <TryResult> TryAsync(
            IAsyncBotOperation operation,
            ExecutionContext context,
            CancellationToken token)
        {
            try
            {
                await base.InnerBot.ExecuteAsync(operation, context, token)
                .ConfigureAwait(context.BotPolicyConfiguration.ContinueOnCapturedContext);

                return(TryResult.Succeeded());
            }
            catch (Exception exception)
            {
                if (base.Configuration.HandlesException(exception))
                {
                    return(TryResult.Failed(exception));
                }

                throw;
            }
        }
Exemple #3
0
 private TryResult <TResult> HandleResult(TResult result) =>
 base.Configuration.AcceptsResult(result) ? TryResult <TResult> .Succeeded(result) : TryResult <TResult> .Failed(result : result);