[Zope] Formulator and ZDebug incompatibility
Dieter Maurer
dieter@handshake.de
Fri, 29 Mar 2002 12:05:13 +0100
Itai Tavor writes:
> I posted this question on the Formulator mailing list but it didn't
> seem to interest anyone there, so I'm posting it here in hope that
> anyone here has some helpful info or a workaround.
>
> It seems that Formulator is still incompatible with ZDebug. This
> problem was discussed briefly back in May 2001
> (<http://lists.zope.org/pipermail/zope/2001-May/091103.html>),
> related to Formulator 0.9.1 and ZDebug 0.2. I'm using Formulator
> 1.2.0 and ZDebug 0.3 in Zope 2.4.4b1, and I have the same problem -
> an error message if a form field fails to validate - although the
> error message is a bit different this time:
>
>
> Error type: TypeError
> Error value: __init__() takes exactly 3 arguments (2 given)
I think I met this error:
Then, the offending "__init__" would be an exception constructor.
ZDebug tries to put its additional information (DTML namespace,
authenticated, REQUEST, ...) into the exception it caught.
It does this by reraising the exception with additional
information.
This works fine for Zope's standard exceptions. But
Formulator exceptions do not play well with this approach.
I worked around this problem by constructing the new exception
in a "try: ... except:". When it gets an exception, I raise
the original exception.
It's a hack but allowed me to use ZDebug together with Formulator.
Dieter