bad_alloc
最近在做项目的时候,对部分可能会有异步问题的代码做了异常捕获。
如下
try {
............
............
} catch (std::exception e) {
std::cout << "exception catched in :" << __FUNCTION__ << __LINE__ << endl;
std::cout << e.what() << endl;
is_err_exp = true;
} catch (...) {
std::cout << "exception catched not std::exception in :" << __FUNCTION__ << __LINE__ << endl;
is_err_exp = true;
}
但是程序总是跑着跑着就抓到异常了,很是费解。然后就看到了,异常信息是
bad_alloc
后来查了很多资料,说是系统分配不了内存了。
想不通,然后查看了任务管理器,发现内存已经占用了1.5G了。
说明存在严重的内存泄露问题。然后检查修改了代码中内存相关释放的部分。
问题解决,不再出现这种异常。