如何在C++中管理从 dll 发送的异常

How to manage exceptions sent from dlls in C++

本文关键字:dll 异常 管理 C++      更新时间:2023-10-16

我已经读到一些问题,从dll(或.so)抛出异常并从可执行文件中捕获它并不容易或不可能。 我有一个爱好项目,exe充当一个库,也就是说,是客户端dll的"功能提供者",或多或少是这个结构:

ExeProgram::method1() -> Dll::method2() -> ExeProgram::method3() [-> Dll::method4()]

所以,我的问题是:一个好的执行设计如何才能实现:- dll 可能会引发异常。- 异常捕获应该在 ExeProgram 中。

C++11 有什么方法可以实现这个设计吗?

  1. 通过错误代码使 DLL 报告错误。
  2. 创建一个客户端包装器,用于处理 DLL 加载并为其提供简单的接口。
  3. 使包装器将错误代码转换为异常。
相关文章: