A change to sync with pickle.py:

find_class(): We no longer mask all exceptions[1] by transforming them
into SystemError.  The latter is definitely not the right thing to do,
so we let any exceptions that occur in the PyObject_GetAttr() call to
simply propagate up if they occur.

[1] Note that pickle only masked ImportError, KeyError, and
AttributeError, but cPickle masked all exceptions.
This commit is contained in:
Barry Warsaw 2001-11-15 23:45:26 +00:00
parent bf4d959d28
commit 9b481ff3d6
1 changed files with 0 additions and 8 deletions

View File

@ -2537,14 +2537,6 @@ find_class(PyObject *py_module_name, PyObject *py_global_name, PyObject *fc) {
} }
else else
global = PyObject_GetAttr(module, py_global_name); global = PyObject_GetAttr(module, py_global_name);
if (global == NULL) {
char buf[256 + 37];
sprintf(buf, "Failed to import class %.128s from module %.128s",
PyString_AS_STRING((PyStringObject*)py_global_name),
PyString_AS_STRING((PyStringObject*)py_module_name));
PyErr_SetString(PyExc_SystemError, buf);
return NULL;
}
return global; return global;
} }