Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

оператор new и исключение bad_alloc - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как подключить поток? http://www.cyberforum.ru/cpp-beginners/thread450376.html
Доброго всем времени суток) вот у меня было тут задачка условия такова Разработать программу для вычисления полного количества секунд, прошедших между двумя значениями времени. Значение...
C++ Матрицы В матрице найти сумму парных элементов, которые находятся выше главной диагонали. Если она делится на 3,обнулить побочную диагональ. http://www.cyberforum.ru/cpp-beginners/thread450359.html
C++ Написать класс Binary, который инкрементирует число, записанное в 2-чном виде
Написать класс Binary, который инкрементирует число, записанное в 2-чном виде. Допускаются только числа больше нуля. Ведущих нулей в числе нет. В классе должны быть определены следующие...
Блок схема C++
Программисты помогите с блок схемой, пожалуйста. Нужно у этой задачи сделать блок схему const int N=10; double a; ... int monot_vozrast=0; int monot_ubyv=0; for(int i=0;i<N;i++) { bool...
C++ Перевод времени http://www.cyberforum.ru/cpp-beginners/thread450288.html
Написать программу, которая переводит время из минут и секунд в секунды. Программа должна проверять правильность введенных пользователем данных и в случае, если данные введены не верно выводить...
C++ Как узнать Title одной из запущеный программ? Доброго времени суток всем. Мне необходимо по нажатию на кнопку в моей программе вывести список всех открытых на компьютере программ (окон), считав их Заголовки и выбранное окно сделать актывным,... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18032 / 6264 / 427
Регистрация: 30.03.2009
Сообщений: 17,233
Записей в блоге: 28
21.02.2012, 21:34
Цитата Сообщение от Konstantin_D Посмотреть сообщение
то неперехваченное исключение
bad_alloc не прервет программу?
Прервёт. Но класс bad_alloc (как и многие другие), если я правильно понимаю, является наследником класса std::exception (именно поэтому работает пример из поста #7).

Можно не ловить какой-либо конкретный тип exception'а, а вообще сделать catch (...). Для следующего примера вообще никакие подключаемые файлы не нужны

C++
1
2
3
4
5
6
7
8
9
try
{
  int *p = new int[1000000];
} catch (...)
{
  // Здесь мы поймаем любое исключение. Но никак не сможем его распознать,
  // потому что у нас нет никакой информации о его типе. Здесь мы можем только сделать
  // вывод, что при вызове new произошла КАКАЯ-ТО беда, но не известно какая
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru