From eb894ebd0adf603efaa1b339bf6403de3850d8ff Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 9 Mar 1999 16:16:45 +0000 Subject: Always test for an error return (usually NULL or -1) without setting an exception. --- Python/ceval.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Python/ceval.c b/Python/ceval.c index f52eb0e..ef5bced 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -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", -- cgit v0.12