[Zope-dev] Redesign suggestion for IReRaiseException

Martijn Faassen faassen at startifact.com
Thu Sep 17 07:48:29 EDT 2009


Hey,

Christian Theune wrote:
> I'd like to suggest a redesign of the IReRaiseException.
> 
> I found this when reviewing revision 103682 and stumbled over the naming
> of the interfaces and that the interface only mentions a __call__ to
> retrieve a fact.
> 
> IMHO this pattern smells like we should design an interface like this:
> 
> class IPublisherExceptionInfo(Interface):
> 
>     reraise = Attribute('A boolean indicating whether '
>                         'this exceptionshould be reraised')
> 
> Advantage: I find it much easier to read from a conceptual level.
> 
> Disadvantage: Composition of policy by bundling *many* attributes in
> this way will be harder.

This would be an interface on exceptions, right? Would it try to adapt 
exceptions raised to IPublisherExceptionInfo and if successful look at 
this attribute? So an exception can either implement this interface 
directly, or you could register an adapter for exceptions?

In general I'm fine with modifying this behavior on trunk. We also 
backported this behavior to the 3.4 line of zope.publisher so we can use 
it with Grok, which on zope.publisher 3.4.9. I suggest we maintain the 
current behavior in zope.publisher 3.4 but I'm fine with changing the 
behavior of the trunk. When we upgrade to that version we can make the 
necessary adjustments in Grok too.

Regards,

Martijn



More information about the Zope-Dev mailing list