On Saturday 21 February 2004 06:04, Casey Duncan wrote:
This is indeed possible. getObject swallows all errors and returns None when one occurs. This would make it return None on busy systems if the traversal during getObject raised a read ConflictError.
This would indeed result in the behaviour I was seeing.
I consider this a bug and I will look into what the *real* desired semantics are. I've been bitten myself by this in applications which naively assumed getObject would always return a Zope object.
You say "naively", I say "rightly". I could be wrong though :)
For Zope 2.8 it might be reasonable to consider also making the case where accessing objects that have been removed without uncataloging is also an exception.
I think this is a good policy. Richard