summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2003-02-18 20:50:45 +0000
committerTim Peters <tim.peters@gmail.com>2003-02-18 20:50:45 +0000
commitb9ce7cd8b8cea66e3ad062fb273efdbf14a7e4e0 (patch)
tree7069f1596f21d9cfc470c88e65f4505df5e69089
parent97e5ff555e581e30c21f703bf5ca89402db6f557 (diff)
downloadcpython-git-b9ce7cd8b8cea66e3ad062fb273efdbf14a7e4e0.tar.gz
save_global(): Trying to resolve module.name can fail for two
reasons: importing module can fail, or the attribute lookup module.name can fail. We were giving the same error msg for both cases, making it needlessly hard to guess what went wrong. These cases give different error msgs now.
-rw-r--r--Modules/cPickle.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index ad087a9f25..0d78e49f8f 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -2021,14 +2021,16 @@ save_global(Picklerobject *self, PyObject *args, PyObject *name)
mod = PyImport_ImportModule(module_str);
if (mod == NULL) {
cPickle_ErrFormat(PicklingError,
- "Can't pickle %s: it's not found as %s.%s",
- "OSS", args, module, global_name);
+ "Can't pickle %s: import of module %s "
+ "failed",
+ "OS", args, module);
goto finally;
}
klass = PyObject_GetAttrString(mod, name_str);
if (klass == NULL) {
cPickle_ErrFormat(PicklingError,
- "Can't pickle %s: it's not found as %s.%s",
+ "Can't pickle %s: attribute lookup %s.%s "
+ "failed",
"OSS", args, module, global_name);
goto finally;
}