C++ new分配內存時的std::bad_alloc異常處理


今天,程序運行時意外出現了崩潰,系統提示出現了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 }

以后注意了,當分配較大塊內存式,進行內存分配失敗的異常處理。避免程序的運行錯誤或崩潰。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM