在CTypes回调中捕获Python异常

时间:2015-12-14 11:02:04

标签: python ctypes

我有一个def wrapper(ud, event): try: # ... except BaseException: wrapper.exc_info = sys.exc_info() return False HandlerCallback = PYFUNCTYPE(c_int, py_object, Event) cb = HandlerCallback(wrapper) # pass `cb` to a C function exc_info = getattr(wrapper, 'exc_info', None) if exc_info: six.reraise(*exc_info) 回调函数,如下所示:

KeyboardInteruppt

不幸的是,这并不占据100%的可能情况。例如。我在C函数调用和wrapper()调用之间似乎遇到了PYFUNCTYPE的问题。不幸的是,回溯根本没有帮助。

是否有可能使child包装器捕获任何异常,不打印它们,然后将它们交还给我,以便在C函数调用后可以重新加载异常?

0 个答案:

没有答案