Can we make the Exception slightly more informative, possibly even raise a KeyError?

I might do something like: Raise KeyError("Tried to access invalid attribute of Geometry object, only allowed attributes are %s" % _attr_list), where _attr_list contains the list of valid attributes and is used in the earlier test.