Earlier I posted some example code that would do exactly that. If an
AttributeError would escape a property function, it becomes a
RuntimeError. Does that do what you're looking for?
Yes, while I need to decorate every property with
dontraise. In python 3.5 or older it do be a handy tool and thanks for your suggestion. However, similar scheme could be used to solve the problem of PEP479, but a change in the interpreter core is made. I would like similar change in interpreter core or stdlib in python 3.6, so no one will encounter the same problem with future versions of python, knowing this discussion or not.
> Again, nobody has suggested that the descriptor protocol should do such a thing, so I don't know why you keep arguing about it.
I myself suggested it as an option if nobody else, that's all.
> Is there some actual problem with it, or some other reason to prefer your original version?
> Your original suggestion would make it _impossible_ for a descriptor to trigger __getattr__.
I proposed 3 versions: AttributeMissError, RuntimeError, or 'object.__getattribute__ calls __getattr__ explicitly; __getattr__ not triggered by AttributeError anymore' in the issue tracker. In fact I think I am not qualified to talk about the detailed implementation because I know little about the related CPython code. I said I personally prefer no change to your version in aesthetic, which means that I don't have any persuasive reasons. I think expressing opinion is more important than persuading others.
> Three reasons:
These looks reasonable to me and thanks for your explanation. Now I think your version is better than RuntimeError.
So if compatibility do count, your version seems the only choice other than no change.