Author: ajborley
Date: Wed Feb 28 03:26:22 2007
New Revision: 512711
URL: http://svn.apache.org/viewvc?view=rev&rev=512711
Log:
Improved Python error messages: now logs errors raised inside scripts
Modified:
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonServiceWrapper.cpp
Modified:
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonServiceWrapper.cpp
URL:
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonServiceWrapper.cpp?view=diff&rev=512711&r1=512710&r2=512711
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonServiceWrapper.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/extensions/python/src/tuscany/sca/python/PythonServiceWrapper.cpp
Wed Feb 28 03:26:22 2007
@@ -867,9 +867,30 @@
Py_XDECREF(elementTreeModule);
Py_XDECREF(elementTreeModuleName);
- string msg = "Error whilst calling Python function
"+operation.getName();
+ string msg = "Error whilst calling Python function
"+operation.getName()+": ";
if(PyErr_Occurred())
{
+ PyObject *pErrorType, *pErrorValue,
*pErrorTraceback;
+ PyErr_Fetch(&pErrorType, &pErrorValue,
&pErrorTraceback);
+
+ if (pErrorType != NULL && pErrorValue != NULL)
+ {
+ PyObject* pErrorTypeStr =
PyObject_Str(pErrorType);
+ PyObject* pErrorValueStr =
PyObject_Str(pErrorValue);
+ msg += PyString_AsString(pErrorTypeStr);
+ msg += " : ";
+ msg += PyString_AsString(pErrorValueStr);
+ Py_DECREF(pErrorTypeStr);
+ Py_DECREF(pErrorValueStr);
+ }
+ else
+ {
+ msg += "No Python Error information
provided";
+ }
+ Py_XDECREF(pErrorType);
+ Py_XDECREF(pErrorValue);
+ Py_XDECREF(pErrorTraceback);
+
PyErr_Print();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]