2012-10-04 47 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

您是否在比賽中使用了擦除電話? –

回答