Author lekma
Recipients lekma
Date 2009-10-02.11:14:27
SpamBayes Score 3.19601e-10
Marked as misclassified No
Message-id <1254482070.14.0.607686602716.issue7033@psf.upfronthosting.co.za>
In-reply-to
Content
It would be nice to have an obvious/simple way to document C exceptions
(especially when using the autoexception feature from Sphinx).

Something along:

PyObject *PyErr_Create(char *name, const char *doc)
    Creates and returns a new exception object.
    This behaves like PyErr_Create2() with base set to NULL.

PyObject *PyErr_Create2(char *name, const char *doc, PyObject *base)
    Creates and returns a new exception object.
    The name argument must be the name of the new exception, a C string
of the form module.class.
    If doc is non-NULL, it will be used to define the docstring for the
exception.
    if base is NULL, it creates a class object derived from Exception
(accessible in C as PyExc_Exception).

for py3k the signatures would be:
PyObject *PyErr_Create(const char *name, const char *doc)
PyObject *PyErr_Create2(const char *name, const char *doc, PyObject *base)

Internally, these functions would pass a dict to PyErr_NewException with
the key '__doc__' set to doc.

If there is support for this, I can provide patches for trunk and py3k.
History
Date User Action Args
2009-10-02 11:14:30lekmasetrecipients: + lekma
2009-10-02 11:14:30lekmasetmessageid: <1254482070.14.0.607686602716.issue7033@psf.upfronthosting.co.za>
2009-10-02 11:14:28lekmalinkissue7033 messages
2009-10-02 11:14:27lekmacreate