◐ Shell
clean mode source ↗

Message 182960 - Python tracker

When pickling/unpickling a class that derives from the builtin class Exception, unpickling results in a

TypeError: ('__init__() takes at least 2 arguments (1 given)', <class '__main__.TestException'>, ())

A standard exception like ValueError can be pickled/unpickled without any problem.

This was observed for versions 2.7.3 and 3.2.3. for both pickle and cPickle.

A script (cpickle) that shows that behavior is included.

This is related (but I do not quite understand how) to the closed Issue1692335.