【发布时间】:2012-04-23 07:55:13
【问题描述】:
使用 MinGW 4.6.2(使用 g++ -g -std=c++0x)编译以下内容,如果我尝试 catch throw,gdb 似乎不想捕获 std::out_of_range。如果我手动 throw 它可以正常捕获,是我做错了什么吗?
#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) {
}
}
【问题讨论】: