gpt4 book ai didi

python - 我应该如何处理 Python 2.7 中 C 扩展的初始化方法中的错误?

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:38 25 4
gpt4 key购买 nike

在Python 2.7(我们需要支持)中,C/C++ 扩展的初始化函数应使用 PyMODINIT_FUNC 宏进行声明,这实际上使函数无效。但是,我不确定我们应该如何处理此函数期间发生的错误。我们可以在函数中抛出 C++ 异常,但我对这个想法并不感到兴奋。有更好的办法吗?

背景如下:为了解决我们无法在单个版本中解决的架构问题,我们需要让用户通过我们提供的脚本调用 Python,而不是直接从 Python 可执行文件调用。通过检查进程名称,我们可以检测用户通过可执行文件而不是脚本调用的情况。在这种情况下,我们希望发出错误消息,然后正常终止。

最佳答案

您可以使用 PyErr_Set* 之一方法。

调用init_module_name()后始终会检查异常。

文档中没有明确说明,但是如果您查看示例,或者如果您read the source ,你会发现这是真的。

关于python - 我应该如何处理 Python 2.7 中 C 扩展的初始化方法中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30126510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com