方法一: try { //分配内存 int* a= new int[bigBigNum]; } catch(std::bad_alloc) { //异常处理 // 返回 } 方法二: try { double *ptr=new double[1000000]; } catch(bad_alloc &memExp) { //失败以后,要么abort要么重分配 cout<<memExp.what()<<endl; }