]> granicus.if.org Git - python/commitdiff
eval_code2(), set_exc_info(): Call PyErr_NormalizeException() the
authorBarry Warsaw <barry@python.org>
Thu, 28 Aug 1997 22:36:40 +0000 (22:36 +0000)
committerBarry Warsaw <barry@python.org>
Thu, 28 Aug 1997 22:36:40 +0000 (22:36 +0000)
former rather than the latter, since PyErr_NormalizeException takes
PyObject** and I didn't want to change the interface for set_exc_info
(but I did want the changes propagated to eval_code2!).

Python/ceval.c

index c920d30a3a03a82910d261c3752a216c73fa3b3b..7c1d407f19ce96bb34887426644799fcec3b444a 100644 (file)
@@ -1795,6 +1795,8 @@ eval_code2(co, globals, locals,
                                           Python main loop.  Don't do
                                           this for 'finally'. */
                                        if (b->b_type == SETUP_EXCEPT) {
+                                               PyErr_NormalizeException(
+                                                       &exc, &val, &tb);
                                                set_exc_info(tstate,
                                                             exc, val, tb);
                                        }
@@ -1875,8 +1877,6 @@ set_exc_info(tstate, type, value, tb)
        PyFrameObject *frame;
        PyObject *tmp_type, *tmp_value, *tmp_tb;
 
-       PyErr_NormalizeException(&type, &value, &tb);
-
        frame = tstate->frame;
        if (frame->f_exc_type == NULL) {
                /* This frame didn't catch an exception before */