Kompilując następujące z MinGW 4.6.2 (z g ++ -g -std = C++ 0x), gdb wydaje się nie chcieć złapać std::out_of_range
, jeśli spróbuję catch throw
. jeśli I throw
ręcznie to łapie dobrze, czy robię coś nie tak?gdb nie łapie std :: out_of_range rzucone przez wektor
#include <stdexcept>
#include <vector>
int main()
{
std::vector<char> vec(10);
try {
vec.at(10); // this won't be caught by gdb
// throw std::out_of_range(""); // this will
}
catch (std::out_of_range const& e) {
}
}