def _unsupported_operation_error(exception):
    """Make the \"no matching opcode\" Numexpr `exception` more clear.

    A new exception of the same kind is returned.

    """

    message = exception.args[0]
    op, types = _no_matching_opcode.search(message).groups()
    newmessage = op % "unsupported operand types for *%s*: "
    newmessage += ', '.join([typecode_to_kind[t] for t in types[1:]])
    return exception.__class__(newmessage)
dataset/ETHPy150Open PyTables/PyTables/tables/conditions.py/_unsupported_operation_error/swapped operands of `%`