當向量的push_back方法被調用時,會引發C++異常。在調試器中,看起來這個異常是在xmemory文件中深入拋出的。這裏就是我看到了異常發生:在xmemory代碼中拋出的C++異常
// TEMPLATE FUNCTION _Destroy
template<class _Ty> inline
void _Destroy(_Ty _FARQ *_Ptr)
{ // destroy object at _Ptr
_DESTRUCTOR(_Ty, _Ptr);
}
這並不似乎是一個bad_alloc異常,因爲我試圖用一個bad_alloc的catch處理包裹在一個try-catch代碼。代碼在那裏做了那一步。它總是進入(...)catch處理程序。如果它不是bad_alloc異常,那麼會發生什麼?
您是否遵循[三規則](http://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming))? – 2012-02-14 22:05:12
對象的類型是什麼?什麼是異常的類型?我猜你在這裏顯示的函數不是異常的起源,因爲析構函數很少會拋出異常。 (如:從不) – 2012-02-14 22:18:49