[Grok-dev] Exceptions and grok.subscribe
tvald at MIT.EDU
Thu Jun 26 13:36:22 EDT 2008
Is there a reason Grok doesn't print the traceback on the console when
it encounters a DuplicationError while adding an application? I
recently ran into a frustrating bug which was compounded, in part, by
this feature in Grok's administration interface. I had registered
several setup scripts as event handlers listening for a new application
to be added, but it boils down to this situation:
print "executed buggy setup script"
raise zope.exceptions.DuplicationError("silly error that shouldn't
print "executed other setup script"
Now, when you go to the grok admin view and add a BuggyApp, it installs
the application, sets the status message to indicate that there was an
error because the name is already in use, and otherwise fails silently
in the middle of executing the setup scripts - which is really bad when
you're still trying to find your way around Grok and Zope.
Assuming there isn't any way to fix the silent handling of
DuplicationErrors, do you have any suggestions on how to compensate for
this? The best workaround I've come up with is an additional decorator:
except zope.exceptions.DuplicationError, e:
It's awkward, but since grok.subscribe can only be called on the module
level, I can't wrap the two decorators together into something like
More information about the Grok-dev