def _on_dynamodb_exception(self, error):
        """Dynamically handle DynamoDB exceptions, returning HTTP error
        responses.

        :param exceptions.DynamoDBException error:

        """
        if isinstance(error, exceptions.ConditionalCheckFailedException):
            raise web.HTTPError(409, reason='Condition Check Failure')
        elif isinstance(error, exceptions.NoCredentialsError):
            if _no_creds_should_return_429():
                raise web.HTTPError(429, reason='Instance Credentials Failure')
        elif isinstance(error, (exceptions.ThroughputExceeded,
                                exceptions.ThrottlingException)):
            raise web.HTTPError(429, reason='Too Many Requests')
        if hasattr(self, 'logger'):
            self.logger.error('DynamoDB Error: %s', error)
        raise web.HTTPError(500, reason=str(error))
Dynamically handle DynamoDB exceptions, returning HTTP error
        responses.

        :param exceptions.DynamoDBException error: