Giving at least some error information when a Python exception happens during command script import

llvm-svn: 167810
This commit is contained in:
Enrico Granata 2012-11-13 02:57:43 +00:00
parent 66dbd3fbcc
commit 5ce1d01887
1 changed files with 11 additions and 1 deletions

View File

@ -2483,7 +2483,17 @@ ScriptInterpreterPython::LoadScriptingModule (const char* pathname,
}
else // any other error
{
error.SetErrorString("Python raised an error while importing module");
PyObject *type,*value,*traceback;
PyErr_Fetch (&type,&value,&traceback);
if (value && value != Py_None)
error.SetErrorStringWithFormat("Python error raised while importing module: %s", PyString_AsString(PyObject_Str(value)));
else
error.SetErrorString("Python raised an error while importing module");
Py_XDECREF(type);
Py_XDECREF(value);
Py_XDECREF(traceback);
}
}
else // we failed but have no error to explain why