diff --git a/Python/errors.c b/Python/errors.c index 0645c688a9af7ed..74fd2f0502f69c6 100644 --- a/Python/errors.c +++ b/Python/errors.c @@ -154,7 +154,6 @@ void _PyErr_SetObject(PyThreadState *tstate, PyObject *exception, PyObject *value) { PyObject *exc_value; - PyObject *tb = NULL; if (exception != NULL && !PyExceptionClass_Check(exception)) { @@ -237,9 +236,8 @@ _PyErr_SetObject(PyThreadState *tstate, PyObject *exception, PyObject *value) } } assert(value != NULL); - if (PyExceptionInstance_Check(value)) - tb = PyException_GetTraceback(value); - _PyErr_Restore(tstate, Py_NewRef(Py_TYPE(value)), value, tb); + assert(PyExceptionInstance_Check(value)); + _PyErr_SetRaisedException(tstate, value); } void