Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理C和Python之间的参数不匹配_Python_C_Exception Handling - Fatal编程技术网

处理C和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

当通过C API调用Python 3.4函数时,是否可以处理向Python函数传递错误数量的参数的情况

也就是说,当调用

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级没有对象,那么会引发异常,没有异常。