c++ - 链接静态库时未捕获异常
问题描述
我开始在我的程序中实现一个 try/catch,但是当我测试它时,异常从未被捕获并且程序只是崩溃了。即使是最简单的 try/catch 用例也会失败,即
try
{
throw 123;
}
catch (...)
{
cerr << "This line doesn't get hit." << endl;
}
经过大量研究异常如何工作和调试后,我终于发现问题是因为我正在与-static-libstdc++
导致中断的具体链接。未设置此标志时,异常工作正常。经过进一步研究,我发现了这个错误报告,但我无法真正弄清楚它的状态。看来问题仍然存在,但根据这个较早的错误报告,根据评论似乎可能有解决方法。不幸的是,如果在手动构建 GCC 之外(如果可以的话,我想避免),我并不完全理解所有评论的含义以及他们为使其工作所做的工作。
有没有办法在仍然链接静态标准库的同时解决这个错误,我将如何处理它?
解决方案
推荐阅读
- google-bigquery - 无法使用服务帐户访问 Google REST Api
- java - 如何从适配器中删除处理程序
- python - python模块的数据描述符
- angular-cdk - cdk-virtual-scroll-viewport,当用户快速滚动时,有什么办法可以解决空白区域?
- html - 如何将从服务器接收到的数据发布到客户端网站
- selenium - JMeter 中的 WebDriver 采样器中的预期条件接口错误
- java - ByteBuffer 解码时缺少数据为字符串
- c# - Xamarin Forms 更改特定页面上的 NavBar 背景图像
- python-2.7 - 在机器人中找不到名为“Get Child WebElement”的关键字
- c++ - 如何将成员函数指针传递给 libusb?