Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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
在存在Python异常的情况下,PyObject_CallObject的正确返回是什么?_Python_C - Fatal编程技术网

在存在Python异常的情况下,PyObject_CallObject的正确返回是什么?

在存在Python异常的情况下,PyObject_CallObject的正确返回是什么?,python,c,Python,C,我能找到的所有示例都是针对空指针检查返回值,但在我们的代码中,我们收到了一个有效指针。我们知道发生了异常,因为我们在故障行之前和之后写入了日志文件 当我们查看返回值时,它显示为“NoneType”:returnValue->ob_type->tp_name在这种情况下,调用返回了None对象,并且不为NULL,这表明该调用没有异常 如果无论您调用什么,都使用了try:/除处理程序外的其他处理程序,则异常已被捕获并清除;这就是这样一个处理者的目的。如果需要异常在堆栈中进一步传播,请重新引发它: t

我能找到的所有示例都是针对空指针检查返回值,但在我们的代码中,我们收到了一个有效指针。我们知道发生了异常,因为我们在故障行之前和之后写入了日志文件


当我们查看返回值时,它显示为“NoneType”:
returnValue->ob_type->tp_name

在这种情况下,调用返回了None对象,并且不为NULL,这表明该调用没有异常

如果无论您调用什么,都使用了
try:
/
处理程序外的其他处理程序,则异常已被捕获并清除;这就是这样一个处理者的目的。如果需要异常在堆栈中进一步传播,请重新引发它:

try:
    # ...
except SomeException as e:
    # log information about `e`
    raise

在这种情况下,调用返回了
None
对象,并且不为NULL,这表明就调用而言没有异常。您调用的任何方法都可能已经处理了异常(如Python代码中的
try:
/
异常处理程序)?我们最终进入
异常处理程序:
异常处理程序,并转储一条消息,指向.write(“抛出异常,返回NUll\n”)return none因此您已经在自己的
中处理了异常,除了:
;这清除了例外;在这种情况下,你需要再次提出它。太好了,这就是问题所在,你能把它作为一个答案提交给我,这样我就可以把它标记为正确的答案了!谢谢,不幸的是,我没有编写Python代码,因此我们不确定作者是否打算接受该异常。调用未能完成,但我们不知道这是否是一个错误,编写此代码的人很难找到,希望当我们最终找到他时,我们可以了解代码的意图。