我希望在我的C++应用程序中嵌入Python。我不想使用Boost库。
如果C++函数抛出异常,我想要捕获它并在我的应用程序中打印错误或获取一些详细信息,比如导致错误的Python脚本中的行号。
我该怎么做?我在Python API或C++中找不到任何获取详细异常信息的函数。
void sum(int iA, int iB)
{
throw iA + iB;
}
from ctypes import *
mydll = WinDLL("C:\\Users\\cppwrapper.dll")
try:
mydll.sum(2,3)
catch:
print "exception occured"
但是它没有起作用。请帮助我解决这个问题。提前感谢。
NULL
而不是对象的C扩展解释为抛出了异常(并且异常被存储在由PyErr_SetObject
设置的全局变量中)。 - skyking