首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Py_initialize失败时捕获和处理致命错误?

问如何在Py_initialize失败时捕获和处理致命错误?
EN

Stack Overflow用户
提问于 2011-10-07 22:04:46
回答 3查看 2.5K关注 0票数 5

我将python嵌入到xll中(所以最终我可以将其放入C++中)。当设置错误时,文档记录为终端失败-请参阅http://docs.python.org/c-api/init.html,“如果初始化失败,...it是致命错误。”。

有没有可能捕捉到这个错误以及如何捕捉?

在想一个全局窗口钩子吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-11 02:18:56

我创建了一个单独的可执行文件来尝试初始化python,从而解决了这个问题。我的主进程将启动它并检查退出代码,并且仅当子进程成功时才调用PyInitialize。因此,python被初始化了两次,但对于用户来说,这比明显的崩溃要好。

票数 2
EN

Stack Overflow用户

发布于 2011-10-07 22:17:43

调用Py_FatalError导致了一个致命错误,它用一条解释性消息告别,然后调用abort()。

票数 3
EN

Stack Overflow用户

发布于 2017-06-04 03:17:43

目前,Jason的解决方案似乎是唯一的方法,但这不包括Py_Initialize()之后的某个地方由于致命错误而导致Python失败的情况,因此嵌入式应用程序没有办法以更优雅的方式处理它(显示图形用户界面消息,然后才中止)。

我在Python bug跟踪器中创建了一个补丁和问题,交叉引用了这个问题:http://bugs.python.org/issue30560

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7688374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档