def uv_emoji(uv):
    """
    Accepts UV index value.
    Returns colour emoji corresponding to risk of harm.
    
    See https://en.wikipedia.org/wiki/Ultraviolet_index#Index_usage
    """
    # negative values
    if uv < 0:
        raise ValueError("UV index cannot be negative.")
    # low -> green
    elif uv <= 2:
        return '\U0001F7E9'
    # moderate -> yellow
    elif uv <= 5:
        return '\U0001F7E8'
    # high -> orange
    elif uv <= 7:
        return '\U0001F7E7'
    # very high -> red
    elif uv <= 10:
        return '\U0001F7E5'
    # extreme -> violet
    else:
        return '\U0001F7EA'