<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _process_response(response):
 """Process the raw AWS response, returning either the mapped exception or deserialized response. :param tornado.concurrent.Future response: The request future :rtype: dict or list :raises: sprockets_dynamodb.exceptions.DynamoDBException """

        error = response.exception()
        if error:
            if isinstance(error, aws_exceptions.AWSError):
                if error.args[1]['type'] in exceptions.MAP:
                    raise exceptions.MAP[error.args[1]['type']](
                        error.args[1]['message'])
            raise error
        http_response = response.result()
        if not http_response or not http_response.body:
            raise exceptions.DynamoDBException('empty response')
        return json.loads(http_response.body.decode('utf-8'))