def split_ver_str(ver_str):
    """Split version string into numeric components.

    Return list of components as numbers additionally checking
    that all components are correct (i.e. can be converted to numbers).
    """
    ver_list = []
    for c in ver_str.split('.')[0:3]:
        if not c.isdecimal():
            raise RuntimeError("Malformed version string '{}'. "
                               "Component '{}' is not an integer."
                               .format(ver_str, c))
        ver_list.append(int(c))

    return ver_list