En Wed, 24 Dec 2008 15:00:36 -0200, Ivan Illarionov <ivan.illario...@gmail.com> escribió:

On Dec 24, 6:42 pm, Ross <rlig...@gmail.com> wrote:
For a project that I am doing, it would be useful to have an exception
class that stores some additional data along with the message.
However, I want to be able to store a couple pointers to C++ classes,
so I can't just use an exception created with PyExc_NewException.  If
I were to subclass the built-in Exception type, I would need to have
access to the PyExc_ExceptionObject, but the headers only give
PyExc_Exception, the type object.  This seems like a rather
straightforward task, but I can't seem to find any documentation for
it.  Does anyone know how to do this?  Thanks!

When you raise an exception in C++ you can set it to ANY Python object
via PyErr_SetObject and that object could store pointers to C++
classes.

Remember that exceptions should inherit from BaseException; although this rule isn't enforced in Python 2.6, 3.0 doesn't allow that. It isn't explicitely written in the docs, but I think that PyErr_SetObject won't allow you to pass an object which is not an instance of its first argument.

--
Gabriel Genellina

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

Reply via email to