处理C和Python之间的参数不匹配
当通过C API调用Python 3.4函数时,是否可以处理向Python函数传递错误数量的参数的情况 也就是说,当调用处理C和Python之间的参数不匹配,python,c,exception-handling,Python,C,Exception Handling,当通过C API调用Python 3.4函数时,是否可以处理向Python函数传递错误数量的参数的情况 也就是说,当调用 PyObject *pFunc, *pArgs; //[...] PyObject *pValue = PyObject_CallObject(pFunc, pArgs); 将Python参数打包到PARG中后,是否有方法检测这些参数与Python函数期望值之间的不匹配 现在,它似乎立即从Python返回,没有返回值,也不知道出了什么问题。您是否费心检查异常?@Ignac
PyObject *pFunc, *pArgs;
//[...]
PyObject *pValue = PyObject_CallObject(pFunc, pArgs);
将Python参数打包到PARG中后,是否有方法检测这些参数与Python函数期望值之间的不匹配
现在,它似乎立即从Python返回,没有返回值,也不知道出了什么问题。您是否费心检查异常?@Ignacio-是的,我用try/catch包围了对PyObject_CallObject()的调用。从Python中没有异常进入C++。我错过了什么吗?Python总是返回一些C++吗?那么,如果pValue为null,那么是否发生了错误?谢谢,这很有意义。Python函数总是返回一个对象。如果在C级没有对象,那么会引发异常,没有异常。