def __str__(self):
    msg = []
    if self.message:
        msg.append(self.message)
        msg.append(' (')
    msg.append('bad value: ')
    msg.append(repr(self.bad_value))
    if (self.bad_type is not None):
        msg.append(', bad type: ')
        msg.append(repr(self.bad_type))
    if (self.req_type is not None):
        msg.append(', req type: ')
        msg.append(repr(self.req_type))
    if self.message:
        msg.append(')')
    return ''.join(msg)
def __str__(self):
    msg = []
    if self.message:
        msg.append(self.message)
        msg.append(' (')
    msg.append('bad value: ')
    msg.append(repr(self.bad_value))
    if (self.bad_type is not None):
        msg.append(', bad type: ')
        msg.append(repr(self.bad_type))
    if (self.req_type is not None):
        msg.append(', req type: ')
        msg.append(repr(self.req_type))
    if self.message:
        msg.append(')')
    return .join(msg)