我正在开发航空电子仿真软件,它可以处理大量使用STL容器和动态分配的问题。 当然,代码是健壮的,但是诸如分配错误之类的异常往往会产生停止整个模拟的模型崩溃(在ex的资格认证期间非常糟糕)。 我想隔离具有高级异常处理的模块,以便一个模块中的错误(可以设置为ex的故障状态)不会阻止其他模块运行。到目前为止,我能够绕过 使用signalhandlerpointer分配错误和使用_CrtSetReportMode进行调试断言;但是对于以下情况,代码只是退出:
try // Completely Garbage Code
{
vector<string> hulu;
hulu.push_back("ERROR");
vector<string>::iterator phulu = hulu.begin();
hulu.erase(phulu);
string hala = *phulu;
}
除了somesort之外,有没有办法捕获上述错误?