[Python-Dev] containment checking (original) (raw)

Glenn Linderman v+python at g.nevcal.com
Sat Mar 20 00:50:17 CET 2010


On 3/19/2010 3:02 PM, Antoine Pitrou wrote:

Glenn Linderman<v+python g.nevcal.com> writes:

> > Sounds to me like containment checking is wrong; that if it gets an > exception during the comparison that it should assume unequal, rather > than aborting, and continue to the next entry. Well as the Zen says: Errors should never pass silently. Unless explicitly silenced. If there's a bug in your eq method, rather than getting wrong containment results, you get the proper exception.

If there's a bug in your eq method, it may or may not raise an exception, which may or may not get you wrong containment results. But it will probably get you buggy results, somehow or another. That's what design, code reviews, and testing are for.

If the your eq method uses exceptions (the only available method of out-of-band signalling for binary operators; not all exceptions are errors) to declare that it can't perform the comparison and produce a boolean result, that is a case where producing an exception is not an error, so your quoted Zen doesn't apply.

Glenn



More information about the Python-Dev mailing list