将嵌入式Python异常传播到C++; 如果我有C++代码,它有嵌入的Python函数,即它使用Python的C API调用Python的解释器,我怎么才能得到Python异常,使其冒泡到C++级别? 注释:这是不反问题(关于C++扩展异常到Python整数预处理器)。

将嵌入式Python异常传播到C++; 如果我有C++代码,它有嵌入的Python函数,即它使用Python的C API调用Python的解释器,我怎么才能得到Python异常,使其冒泡到C++级别? 注释:这是不反问题(关于C++扩展异常到Python整数预处理器)。,python,c++,exception-handling,embedding,Python,C++,Exception Handling,Embedding,具体来说,PyErr\u PrintEx(0)——这将打印一个回溯。根据您的需要,您只需抛出python异常的类名即可。或者,您是否在C++中询问如何从Python调用中访问异常。抛出的Python异常包含有信息性的消息,我想以与纯Python.wait中的控制台打印的相同方式打印,所以您问如何打印格式化回溯吗?或者只是例外本身。我认为异常的Py\u Print应该使用PyObject*进行后一种处理。无论是哪一种,我只是不清楚如何首先获取异常对象的引用。实际上,我现在想知道这是否是错误的。如果

具体来说,
PyErr\u PrintEx(0)
——这将打印一个回溯。

根据您的需要,您只需抛出python异常的类名即可。或者,您是否在C++中询问如何从Python调用中访问异常。抛出的Python异常包含有信息性的消息,我想以与纯Python.wait中的控制台打印的相同方式打印,所以您问如何打印格式化回溯吗?或者只是例外本身。我认为异常的
Py\u Print
应该使用
PyObject*
进行后一种处理。无论是哪一种,我只是不清楚如何首先获取异常对象的引用。实际上,我现在想知道这是否是错误的。如果你使用pyHym或者pyrnyr,很可能你不能使用pyelz来访问异常信息。我认为OP的意思是“我如何用Python异常中的信息来抛出C++异常?”至少,我想知道我到底是怎么来到这里的。