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