MinGW 4.6.2(g ++ -g -std = C++ 0x)で次のようにコンパイルすると、をキャッチすると思われません。catch throw
を試してください。私はthrow
それは手動でそれがうまくキャッチ、私は何か間違っている?gdbはstd :: out_of_rangeをベクトルでスローしない
#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) {
}
}