def METHOD_NAME(self, err):
    """Convert an Exception instance to a string."""
    msg = err
    if hasattr(err, 'msg'):
        msg = err.msg
    elif hasattr(err, 'message'):
        msg = err.message
        if not msg:
            # rely on str(msg) in case err.message is empty
            msg = err
    elif hasattr(err, 'args'):  # KeyError in Python 2.4 only provides message via 'args' attribute
        msg = err.args[0]
    else:
        msg = err
    try:
        res = str(msg)
    except UnicodeEncodeError:
        res = msg.encode('utf8', 'replace')
    return res