[Zope-dev] bare exceptions

Shane Hathaway shane@zope.com
Sat, 05 Oct 2002 00:24:03 -0400


Leonardo Rochael Almeida wrote:
> I'm testing a fix for the TALES case along the lines of what Casey
> sugested and will report back with results.

Leo,

This is a good thing to work on but you really should work on the trunk. 
  The TALES exception handling was redone after Zope 2.5.  Exceptions 
don't get transformed into TALESErrors any more.  The line and column 
number appear in custom-formatted tracebacks.

The _nocatch mechanism is brittle, but maybe it's all we can get for 
now.  This problem of catching all errors, including ConflictErrors, is 
quite deep, since even untrusted Python scripts are allowed to do this.

Here's an idea: if a conflict (read or write) occurs in a connection, 
that connection turns read-only until the next transaction boundary.  If 
the application tries to write using it, ZODB raises another 
ConflictError.  I wonder if that policy would work.

Shane