mirror of
https://github.com/python/cpython.git
synced 2025-09-10 02:36:56 +00:00
Change PyErr_Format() to generate a unicode string (by using
PyUnicode_FromFormatV() instead of PyString_FromFormatV()). Change calls to PyErr_Format() to benefit from the new format specifiers: Using %S, object instead of %s, PyString_AS_STRING(object) with will work with unicode objects too.
This commit is contained in:
parent
e65c86cca0
commit
573c08c1b7
5 changed files with 33 additions and 45 deletions
|
@ -443,18 +443,13 @@ static void wrong_exception_type(PyObject *exc)
|
|||
{
|
||||
PyObject *type = PyObject_GetAttrString(exc, "__class__");
|
||||
if (type != NULL) {
|
||||
PyObject *name = PyObject_GetAttrString(type, "__name__");
|
||||
Py_DECREF(type);
|
||||
if (name != NULL) {
|
||||
PyObject *string = PyObject_Str(name);
|
||||
Py_DECREF(name);
|
||||
if (string != NULL) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"don't know how to handle %.400s in error callback",
|
||||
PyString_AS_STRING(string));
|
||||
Py_DECREF(string);
|
||||
}
|
||||
}
|
||||
PyObject *name = PyObject_GetAttrString(type, "__name__");
|
||||
Py_DECREF(type);
|
||||
if (name != NULL) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"don't know how to handle %S in error callback", name);
|
||||
Py_DECREF(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue