今天,程序運行時意外出現了崩潰,系統提示出現了std::bad_alloc異常,經查找,得知該異常是因為在使用new分配內存空間時,內存空間不夠時就會拋出該異常。
對該異常進行處理,利用try-catch模塊函數,將內存分配語句放在try中,這樣出現了異常就會立刻獲得,從而轉入匹配的catch塊進行處理。catch的參數是異常類型,這里為std::bad_alloc。
1 int *a; 2 try 3 { 4 //分配內存 5 a= new int[bigBigNum]; 6 } 7 catch(std::bad_alloc) 8 { 9 //異常處理 10 //彈出提示對話框 11 // 返回 12 }
以后注意了,當分配較大塊內存式,進行內存分配失敗的異常處理。避免程序的運行錯誤或崩潰。