<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def goodnode(self, nodelist):
        ''' Goes through the provided list
        and returns the first server node
        that does not return an error.
        '''
        l = len(nodelist)
        for n in range(self.current_node(l), l):
            self.msg.message("Trying node " + str(n) + ": " + nodelist[n])
            try:
                req = urllib.request.Request(url=nodelist[n])
                urllib.request.urlopen(req)
            except HTTPError as e:
                self.msg.error_message(e)
                self.currentnode = int(self.currentnode) + 1
            else:
                self.msg.message("Using " + nodelist[n])
                return nodelist[n]