جلوگیری از ارسال استثنا در هنگام new نا موفق - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

جلوگیری از ارسال استثنا در هنگام new نا موفق

0 امتیاز
سلام.

وقتی new می کنیم به هر علتی خطا بده از جمله نبودن حافظه کافی .آیا راهی وجود داره که کلا exception نده؟
سوال شده مهر 28, 1393  بوسیله ی Xavi (امتیاز 627)   24 83 110

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

برای اینکار بایستی به همراه new تابع std::nothrow را استفاده کنید که هنگامی که new به exception مواجه میشه به جای صدور exception به شما NULL بر می گردونه.

int *copy = new (std::nothrow) int[size];
  if (!copy) {
    // Handle error
    return;
  }

 

پاسخ داده شده آبان 1, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد آبان 24, 1393 بوسیله ی Xavi
...