Why KeyError instead of ValueError in the case of sets?

I can understand your explanation. But I just had a lay man’s doubt. What if set also returns a ValueError as list like this :

ValueError : set.remove(x) : x not in set

This may seem silly. But please spare your valuable time yo answer this please