相关疑难解决方法(0)

C++异常会通过C代码安全传播吗?

我有一个C++应用程序调用SQLite(SQLite在C中)sqlite3_exec(),它反过来可以调用我在C++中实现的回调函数.SQLite被编译成静态库.

如果异常转义我的回调,它会通过SQLite的C代码安全地传播到调用sqlite3_exec()的C++代码吗?

c c++ exception-handling exception visual-c++

31
推荐指数
3
解决办法
2985
查看次数

C程序可以处理C++异常吗?

我正在开发可供C或C++应用程序使用的C++组件DLL.暴露的dll功能如下

#include <tchar.h>
#ifdef IMPORT
#define DLL __declspec(dllimport)
#else 
#define DLL __declspec(dllexport)
#endif

extern "C" {

    DLL  bool __cdecl Init();
    DLL  bool __cdecl Foo(const TCHAR*);
    DLL  bool __cdecl Release();

}
Run Code Online (Sandbox Code Playgroud)

这些函数的内部实现是没有公开的C++类,我假设使用这种风格,dll可以在C或C++应用程序中使用.问题是我没有处理任何类型的c ++异常(即bad_alloc),我将这些东西留给了调用者(更高层).经过与同事的多次辩论,我应该捕获所有异常并返回错误代码或至少是错误的,因为在C应用程序的情况下,它无法处理C++异常?真的吗?我一般应该做些什么?如果您正在开发将由其他系统使用的组件,是否有处理exeptions的经验法则.

c c++ exception-handling

16
推荐指数
5
解决办法
5516
查看次数

libjpeg中的错误处理

我正在使用C++ JPEG库(libjpeg),我意识到当某些函数失败时,调用exit()并关闭应用程序.如何覆盖此行为并阻止应用程序关闭libjpeg错误?

c++ libjpeg

15
推荐指数
3
解决办法
4933
查看次数

标签 统计

c++ ×3

c ×2

exception-handling ×2

exception ×1

libjpeg ×1

visual-c++ ×1