我有載體的載體建立映射一個整數的向量,我很想趕上矢量超出範圍的錯誤時,它拋出,通過執行以下操作:追趕out_of_range的載體
vector< vector<int> > agrid(sizeX, vector<int>(sizeY));
try {
agrid[-1][-1] = 5; //throws an out-of-range
}
catch (const std::out_of_range& e) {
cout << "Out of Range error.";
}
但是,我的代碼似乎並沒有捕捉到錯誤。它似乎仍然想運行std :: terminate。有誰知道這是怎麼回事?