[Zope-dev] Bare except and ConflictError in manage_beforeDelete

Florent Guillaume fg at nuxeo.com
Fri Oct 31 06:28:45 EST 2003


I have code that needs to maintain certain invariants when objects are 
deleted, these invariants are maintained in manage_beforeDelete.

Unfortunately manage_beforeDelete has this code:
             try:
                 if hasattr(aq_base(object), 'manage_beforeDelete'):
                     object.manage_beforeDelete(item, container)
             except BeforeDeleteException, ob:
                 raise
             except:
                 LOG('Zope',ERROR,'manage_beforeDelete() threw',
                     error=sys.exc_info())
                 pass
Which means that ConflictErrors in my invariant code get swallowed, and 
my invariants are broken. This kills me.

I want to add an additionnal:
             except ConflictError:
                 raise

Any objections ?

Florent

-- 
Florent Guillaume, Nuxeo (Paris, France)
+33 1 40 33 79 87  http://nuxeo.com  mailto:fg at nuxeo.com




More information about the Zope-Dev mailing list