protected override async Task HandleExceptionAsync(
     QueueBase <TMessageDescription> queue,
     TMessageDescription messageDescription,
     Exception exception,
     CancellationToken cancellationToken)
 {
     await queue.AcknowledgeMessageAsync(messageDescription, cancellationToken);
 }
        protected override async Task HandleExceptionAsync(
            QueueBase <RabbitMessageDescription> queue,
            RabbitMessageDescription messageDescription,
            Exception exception,
            CancellationToken cancellationToken)
        {
            await queue.AcknowledgeMessageAsync(messageDescription, cancellationToken);

            await _pendingMessagesQueue.SendMessageAsync(messageDescription, cancellationToken);
        }
        protected override async Task HandleExceptionAsync(
            QueueBase <TMessageDescription> queue,
            TMessageDescription messageDescription,
            Exception exception,
            CancellationToken cancellationToken)
        {
            await queue.AcknowledgeMessageAsync(messageDescription, cancellationToken);

            await queue.ErrorsQueue.SendMessageAsync(
                new ExceptionDescription
            {
                ExceptionMessage = exception.Message,
                MessageId        = messageDescription.Id,
                MessageContent   = messageDescription.Content
            },
                cancellationToken
                );
        }