On Dec 26, 2012, at 1:43 PM, Laurens Van Houtven <_...@lvh.cc> wrote:
> I'm writing a custom AMP type. I noticed that when writing the unit test for
> garbage input, I didn't really know what exception to check for.
>
> I couldn't find any place where this was formally defined, so I checked for
> implementation behavior. Boolean explicitly raises TypeError. Integer raises
> ValueError, but that appears to only be an implementation detail of int.
>
> It could also be that it doesn't matter at all, but it does seem a little
> strange that Integer and Boolean raise different exceptions when fed
> garbage...
Hey Laurens,
This is basically a feature request :). There's no particular defined error
type for argument parse errors in AMP. It's not a bad feature though. The
exception also doesn't go anywhere useful - the only contract is basically that
it'll bubble up and break the connection if you get some bad data. A more
sophisticated and trappable / trackable way to propagate this sort of error
would be useful.
(I would personally consider it a compatible change if the behavior of the
error cases changed here, on the grounds that anything that uncontrollably logs
a traceback in response to network input is a gross spec violation of a sort.
Maybe we should add an explicit exemption for that case.)
-glyph
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python