c++ - 在 BOOST 中禁用异常?

标签 c++ exception boost

我想使用 boost::asio 但我不希望 boost 抛出异常,因为在我的环境中不能引发异常。

我遇到过 BOOST_NO_EXCEPTIONS 但是 documentation 表示 throw_exception 的调用者可以假定此函数永远不会返回。 但是用户提供的函数怎么可能不返回呢?我需要在此处插入什么替换功能?如果 boost 代码想抛出异常,我是否必须终止进程?

最佳答案

那么,您想要在错误情况下做什么? BOOST_NO_EXCEPTION 不会神奇地使 Boost 源代码使用替代机制将错误传播回调用者。因此,您要么将错误打印到 stderr 并死去,要么一直 longjmp 到顶部——泄漏当前调用堆栈上的函数可能分配的任何资源。

关于c++ - 在 BOOST 中禁用异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1853148/

相关文章:

c++ - 我怎样才能索引一个集合并允许每个索引的变量有一个自定义的 setter ?

c++ - C++中的复制构造函数

wpf - FrameworkElementFactory 必须位于此操作的密封模板中

c++ - boost::spirit::karma 语义 Action 分配错误

C++ STL 方法从字符串中提取子字符串 from -> to (like Javascript substring)

c++ - 将 static_cast 转换为 int 时有关删除 bool 运算符的错误

php - 如何使用自定义 ERROR 500 模板和 EventListener 报告 Symfony2 生产中的错误?

php - PHP 中所有未捕获的异常都是致命的吗?

c++ - 替换 boost::mutex

c++ - boost accumulator_set : expect primary expression