2

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

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

4

1 回答 1

2

在这种情况下,该调用返回 None 对象,而不是 NULL,表明就该调用而言没有异常。

如果您调用的任何内容都使用了try:/except处理程序,则该异常已被捕获并清除;这就是这种处理程序的目的。如果您需要异常在堆栈中进一步传播,请重新引发它:

try:
    # ...
except SomeException as e:
    # log information about `e`
    raise
于 2013-05-09T12:30:08.743 回答