Issue #9425: save/restore exception on filename encoding

_PyUnicode_AsString() raises an exception on unencodable filename.
This commit is contained in:
Victor Stinner 2010-08-17 00:39:57 +00:00
parent 028dd97dfb
commit 4a3733d160

View file

@ -1213,7 +1213,12 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
lltrace = PyDict_GetItemString(f->f_globals, "__lltrace__") != NULL;
#endif
#if defined(Py_DEBUG) || defined(LLTRACE)
filename = _PyUnicode_AsString(co->co_filename);
{
PyObject *error_type, *error_value, *error_traceback;
PyErr_Fetch(&error_type, &error_value, &error_traceback);
filename = _PyUnicode_AsString(co->co_filename);
PyErr_Restore(error_type, error_value, error_traceback);
}
#endif
why = WHY_NOT;