Always test for an error return (usually NULL or -1) without setting

an exception.
This commit is contained in:
Guido van Rossum 1999-03-09 16:16:45 +00:00
parent d3eb5774ad
commit eb894ebd0a
1 changed files with 4 additions and 3 deletions

View File

@ -1723,6 +1723,7 @@ eval_code2(co, globals, locals,
if (why == WHY_NOT) {
if (err == 0 && x != NULL) {
#ifdef CHECKEXC
/* This check is expensive! */
if (PyErr_Occurred())
fprintf(stderr,
"XXX undetected error\n");
@ -1735,18 +1736,18 @@ eval_code2(co, globals, locals,
err = 0;
}
#ifdef CHECKEXC
/* Double-check exception status */
if (why == WHY_EXCEPTION || why == WHY_RERAISE) {
if (!PyErr_Occurred()) {
fprintf(stderr, "XXX ghost error\n");
PyErr_SetString(PyExc_SystemError,
"ghost error");
"error return without exception set");
why = WHY_EXCEPTION;
}
}
#ifdef CHECKEXC
else {
/* This check is expensive! */
if (PyErr_Occurred()) {
fprintf(stderr,
"XXX undetected error (why=%d)\n",