2012-10-04 79 views
0

我想跟踪basic_string :: erase中std :: exception的来源,我在try/catch中直接调用了所有擦除的位置,而不是看到任何这些catch块都会被击中,所以它必须从另一个basic_string方法内部调用。异常似乎是我正在使用的代码中的竞态条件的结果,所以很难重现,关于如何检测和/或从此异常获取堆栈跟踪的任何想法?顺便说一句,这是一个x86 Linux机器上的C++代码。在basic_string中查找STL ::异常的源代码

谢谢

+0

如果'basic_string的:: erase'抛出一个异常,由于竞争条件下,我不明白为什么你需要的源例外。消除竞态条件。 –

+0

标准说如果pos> size(),'basic_string :: erase'会抛出:out_of_range。 –

+0

您是否在比赛中使用了擦除电话? –

回答