有一种称为foo
的方法,有时会返回以下错误:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Abort
有没有一种方法可以使用
try
-catch
块来阻止此错误终止程序(我要做的只是返回-1
)?如果是这样,它的语法是什么?
我还能如何用C++处理
bad_alloc
? 最佳答案
您可以像其他任何异常一样捕获它:
try {
foo();
}
catch (const std::bad_alloc&) {
return -1;
}
从这一点上您可以做的事完全取决于您,但这在技术上绝对是可行的。
关于c++ - 如何在C++中处理bad_alloc?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9456728/