]> granicus.if.org Git - python/commitdiff
Issue #19817: Fix print_exception(), clear the exception on error
authorVictor Stinner <victor.stinner@gmail.com>
Mon, 9 Dec 2013 01:10:08 +0000 (02:10 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Mon, 9 Dec 2013 01:10:08 +0000 (02:10 +0100)
Python/pythonrun.c

index ccf82af36badd3f71db9c4983a230d0a91fefbaf..97daecc205048b12548f6bc45738d15abd51ffd4 100644 (file)
@@ -1888,9 +1888,11 @@ print_exception(PyObject *f, PyObject *value)
     _Py_IDENTIFIER(print_file_and_line);
 
     if (!PyExceptionInstance_Check(value)) {
-        PyFile_WriteString("TypeError: print_exception(): Exception expected for value, ", f);
-        PyFile_WriteString(Py_TYPE(value)->tp_name, f);
-        PyFile_WriteString(" found\n", f);
+        err = PyFile_WriteString("TypeError: print_exception(): Exception expected for value, ", f);
+        err += PyFile_WriteString(Py_TYPE(value)->tp_name, f);
+        err += PyFile_WriteString(" found\n", f);
+        if (err)
+            PyErr_Clear();
         return;
     }