python - 出现 Python 异常时 PyObject_CallObject 的正确返回是什么?

标签 python c

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

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

最佳答案

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

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

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

关于python - 出现 Python 异常时 PyObject_CallObject 的正确返回是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16461513/

相关文章:

python - 如何将许多列的产品创建为新列 pandas

c - 通过命令提示符 C 语言提供浮点参数

linux - 我的程序应该如何处理错误?

c++ - 如何以微秒精度计算操作时间

python - 如何手动关闭BaseHTTPServer中的连接?

python - 如何从多索引数据框中返回多个级别/组的值?

python - 在日期列表中查找重复项

python - 通过在 Python 中读取文件获取列表

c - 奇数的简单除法在 C 编程中不起作用

java - 如何在 Java 代码中使用 OpenMP?