我有一个C++应用程序调用SQLite(SQLite在C中)sqlite3_exec(),它反过来可以调用我在C++中实现的回调函数.SQLite被编译成静态库.
如果异常转义我的回调,它会通过SQLite的C代码安全地传播到调用sqlite3_exec()的C++代码吗?
可能重复:
C++异常会通过C代码安全传播吗?
如果您有c代码,例如png lib,您自己的io处理程序是用c ++编写的,并且由于某些io错误而抛出异常.让它通过c代码并在c代码之外捕获它是否可以?我知道必须注意内存泄漏,但通常所有结构都要预先分配.
我正在编写一个使用外部第三方C库的C++库.因此,我的图书馆将调用此第三方库中的函数,第三方库将回调到我的库的不同部分.
我想知道在这种情况下异常会发生什么?假设MyLib :: foo()调用外部C库函数,最终调用MyLib :: bar(),并且bar抛出异常,会发生什么?将异常正确传播到foo()中的处理程序吗?
谢谢!