1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #define PCC_ERR_HANDLE \ PyObject *ptype, *pvalue0, *ptraceback; \ PyErr_Fetch(&ptype, &pvalue0, &ptraceback); \ PyObject*objj = PyObject_GetAttrString(pvalue0,"args"); \ Py_DECREF(ptype); \ Py_DECREF(pvalue0); \ Py_DECREF(ptraceback); \ const char* errmsg; \ int err; \ int t = PyArg_ParseTuple(objj, "si", &errmsg,&err ); \ if(!t) \ { \ Py_DECREF(objj); \ PyErr_Print(); \ return -1; \ } \ NPLogError(("%s",errmsg)); \ Py_DECREF(objj); \ return err;
|