private async Task <QueueMessageRecoveryStrategy> OnProcessMessageAsync(IQueueEntry <TMessage> queueEntry) { try { await OnMessageReceivedAsync(queueEntry).ConfigureAwait(false); return(QueueMessageRecoveryStrategy.Complete); } #pragma warning disable CA1031 // Do not catch general exception types catch (Exception e) #pragma warning restore CA1031 // Do not catch general exception types { return(await TaskHelpers.DefaultIfExceptionAsync( GetRecoveryStrategyAsync, e, QueueMessageRecoveryStrategy.Abandon).ConfigureAwait(false)); } }