Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()

encodings
This commit is contained in:
Victor Stinner 2010-10-09 10:12:11 +00:00
parent fc8408cbe8
commit 257d38ffdd
3 changed files with 13 additions and 3 deletions

View File

@ -134,7 +134,7 @@ in various ways. There is a separate error indicator for each thread.
This is the most common way to set the error indicator. The first argument
specifies the exception type; it is normally one of the standard exceptions,
e.g. :c:data:`PyExc_RuntimeError`. You need not increment its reference count.
The second argument is an error message; it is converted to a string object.
The second argument is an error message; it is decoded from ``'utf-8``'.
.. c:function:: void PyErr_SetObject(PyObject *type, PyObject *value)
@ -261,6 +261,8 @@ in various ways. There is a separate error indicator for each thread.
*filename* is not *NULL*, it is passed to the constructor of *type* as a third
parameter. In the case of exceptions such as :exc:`IOError` and :exc:`OSError`,
this is used to define the :attr:`filename` attribute of the exception instance.
*filename* is decoded from the filesystem encoding
(:func:`sys.getfilesystemencoding`).
.. c:function:: PyObject* PyErr_SetFromWindowsErr(int ierr)

View File

@ -60,7 +60,10 @@ typedef struct {
PyAPI_FUNC(void) PyErr_SetNone(PyObject *);
PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);
PyAPI_FUNC(void) PyErr_SetString(PyObject *, const char *);
PyAPI_FUNC(void) PyErr_SetString(
PyObject *exception,
const char *string /* decoded from utf-8 */
);
PyAPI_FUNC(PyObject *) PyErr_Occurred(void);
PyAPI_FUNC(void) PyErr_Clear(void);
PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
@ -177,7 +180,9 @@ PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *);
PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject(
PyObject *, PyObject *);
PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
PyObject *, const char *);
PyObject *exc,
const char *filename /* decoded from the filesystem encoding */
);
#ifdef MS_WINDOWS
PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
PyObject *, const Py_UNICODE *);

View File

@ -10,6 +10,9 @@ What's New in Python 3.2 Alpha 3?
Core and Builtins
-----------------
- Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
encodings
- ast.literal_eval() can now handle negative numbers. It is also a little
more liberal in what it accepts without compromising the safety of the
evaluation. For example, 3j+4 and 3+4+5 are both accepted.