Unicode Exception Objects
The following functions are used to create and modify Unicode exceptions from C.
PyObject* PyUnicodeDecodeError_Create
(const char encoding*, const char object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char **reason)
Return value: New reference.
Create a UnicodeDecodeError
object with the attributes encoding, object, length, start, end and reason. encoding and reason are UTF-8 encoded strings.
PyObject* PyUnicodeEncodeError_Create
(const char encoding*, const Py_UNICODE object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end, const char **reason)
Return value: New reference.
Create a UnicodeEncodeError
object with the attributes encoding, object, length, start, end and reason. encoding and reason are UTF-8 encoded strings.
3.3 版后已移除: 3.11
Py_UNICODE
is deprecated since Python 3.3. Please migrate to PyObject_CallFunction(PyExc_UnicodeEncodeError, "sOnns", ...)
.
PyObject* PyUnicodeTranslateError_Create
(const Py_UNICODE object, Py_ssize_t length, Py_ssize_t start, Py_ssize_t end*, const char reason*)
Return value: New reference.
Create a UnicodeTranslateError
object with the attributes object, length, start, end and reason. reason is a UTF-8 encoded string.
3.3 版后已移除: 3.11
Py_UNICODE
is deprecated since Python 3.3. Please migrate to PyObject_CallFunction(PyExc_UnicodeTranslateError, "Onns", ...)
.
PyObject* PyUnicodeDecodeError_GetEncoding
(PyObject *exc)
PyObject* PyUnicodeEncodeError_GetEncoding
(PyObject *exc)
Return value: New reference.
Return the encoding attribute of the given exception object.
PyObject* PyUnicodeDecodeError_GetObject
(PyObject *exc)
PyObject* PyUnicodeEncodeError_GetObject
(PyObject *exc)
PyObject* PyUnicodeTranslateError_GetObject
(PyObject *exc)
Return value: New reference.
Return the object attribute of the given exception object.
int PyUnicodeDecodeError_GetStart
(PyObject exc*, Py_ssize_t start*)
int PyUnicodeEncodeError_GetStart
(PyObject exc*, Py_ssize_t start*)
int PyUnicodeTranslateError_GetStart
(PyObject exc*, Py_ssize_t start*)
Get the start attribute of the given exception object and place it into *start. start must not be NULL
. Return 0
on success, -1
on failure.
int PyUnicodeDecodeError_SetStart
(PyObject *exc, Py_ssize_t start)
int PyUnicodeEncodeError_SetStart
(PyObject *exc, Py_ssize_t start)
int PyUnicodeTranslateError_SetStart
(PyObject *exc, Py_ssize_t start)
Set the start attribute of the given exception object to start. Return 0
on success, -1
on failure.
int PyUnicodeDecodeError_GetEnd
(PyObject exc*, Py_ssize_t end*)
int PyUnicodeEncodeError_GetEnd
(PyObject exc*, Py_ssize_t end*)
int PyUnicodeTranslateError_GetEnd
(PyObject exc*, Py_ssize_t end*)
Get the end attribute of the given exception object and place it into *end. end must not be NULL
. Return 0
on success, -1
on failure.
int PyUnicodeDecodeError_SetEnd
(PyObject *exc, Py_ssize_t end)
int PyUnicodeEncodeError_SetEnd
(PyObject *exc, Py_ssize_t end)
int PyUnicodeTranslateError_SetEnd
(PyObject *exc, Py_ssize_t end)
Set the end attribute of the given exception object to end. Return 0
on success, -1
on failure.
PyObject* PyUnicodeDecodeError_GetReason
(PyObject *exc)
PyObject* PyUnicodeEncodeError_GetReason
(PyObject *exc)
PyObject* PyUnicodeTranslateError_GetReason
(PyObject *exc)
Return value: New reference.
Return the reason attribute of the given exception object.
int PyUnicodeDecodeError_SetReason
(PyObject exc*, const char reason*)
int PyUnicodeEncodeError_SetReason
(PyObject exc*, const char reason*)
int PyUnicodeTranslateError_SetReason
(PyObject exc*, const char reason*)
Set the reason attribute of the given exception object to reason. Return 0
on success, -1
on failure.