0
我有一個vector<string>
和在某個位置返回一個字符的方法(在類中)。 這一切都發生在try catch塊中。googletesting超出範圍
的問題,當我嘗試谷歌測試這種方法,特意調用std::out_of_range
異常,並EXPECT_THROW(method, std::out_of_range)
,而是獲得通過測試我得到幾個.what()
錯誤信息vector::_M_range_check
和測試失敗的出現。
提到的方法
char ClassA::getC(int x, int y){
try{
return vec.at(y).at(x);
catch(const out_of_range& e){
cout << '\n' << e.what() << '\n';
return 0;
}
}
也有一個類似的void
方法,在一定的位置,我只是叫vec.at(y).at(x) = c;
,並在這裏我也想搭上std::out_of_range
那麼,什麼是設置一個不同的字符我做錯了?
所以我應該刪除try catch? – TheGuyWithStreetCred 2014-10-11 12:50:43
很可能......如果應用程序依賴它,那麼您將需要做更多的工作。 – 2014-10-11 12:52:22
你有什麼提示:P – TheGuyWithStreetCred 2014-10-11 12:59:50