Index: Python/errors.c =================================================================== --- Python/errors.c (revision 88360) +++ Python/errors.c (working copy) @@ -711,7 +711,7 @@ PyErr_Fetch(&t, &v, &tb); f = PySys_GetObject("stderr"); if (f != NULL && f != Py_None) { - PyFile_WriteString("Exception ", f); + PyFile_WriteString("The following Exception of type ", f); if (t) { PyObject* moduleName; char* className; @@ -739,17 +739,24 @@ PyFile_WriteString("", f); else PyFile_WriteString(className, f); + + PyFile_WriteString(" was raised in ", f); + if (obj == NULL) { + PyFile_WriteString("", f); + } + else { + PyFile_WriteObject(obj, f, 0); + } + + PyFile_WriteString(" but was ignored", f); if (v && v != Py_None) { PyFile_WriteString(": ", f); PyFile_WriteObject(v, f, 0); } + PyFile_WriteString("\n", f); Py_XDECREF(moduleName); } - if (obj) { - PyFile_WriteString(" in ", f); - PyFile_WriteObject(obj, f, 0); - } - PyFile_WriteString(" ignored\n", f); + PyErr_Clear(); /* Just in case */ } Py_XDECREF(t);