Am 28.03.2012 20:26, schrieb Terry Reedy:
On 3/28/2012 8:28 AM, Ulrich Eckhardt wrote:
with self.assertRaises(MyException(SOME_FOO_ERROR)):
    foo()

I presume that if this worked the way you want, all attributes would
have to match. The message part of builtin exceptions is allowed to
change, so hard-coding an exact expected message makes tests fragile.
This is a problem with doctest.

I would have assumed that comparing two exceptions leaves out messages that are intended for the user, not as part of the API. However, my expectations aren't met anyway, because ...

This of course requires the exception to be equality-comparable.

Equality comparison is by id. So this code will not do what you want.

 >>> Exception('foo') == Exception('foo')
 False

Yikes! That was unexpected and completely changes my idea. Any clue whether this is intentional? Is identity the fallback when no equality is defined for two objects?

Thanks for your feedback!

Uli
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to