Your basic point makes sense, although I'm not entirely clear on how
transaction management is integrated into the Zope application.
Speaking for ZODB alone, I believe we've recommended that people call
get_transaction().abort() if they catch an exception.  I can't recall
getting into any nuances of error handling, but it certainly makes
sense to call abort() after the error handling.

Note that a new transaction is begin implicitly any time a persistence
object is referenced.  So the error handling code does execute in the
context of a transaction.  It may be that it's just not the
transaction you'd like it to be in.  I assume that some work done
during error handling is getting committed with the next successful
request.  Yuck.

How does user-level error handling get invoked in Zope?


Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to