Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
no_wearines
53 / 49 / 21
Регистрация: 01.01.2012
Сообщений: 343
#1

Стоит ли при динамическом распределении памяти перехватывать возможные ошибки через try/catch?

26.04.2014, 12:14. Просмотров 946. Ответов 3
Метки нет (Все метки)

Здравствуйте.

Обращаюсь к опытным.
Скажите, стоит ли при каждом динамическом распределении памяти перехватывать возможные ошибки через try/catch.
Дело в том, что в программе происходит туча распределений под маленькие объекты. + Пользуюсь компонентами VCL. Там внутренние распределения, скрытые от глаз и еще куча скрытых от глаз где-то там. Думаю все поймать не удастся. А есть ли смысл их вообще ловить? То есть, если у пользователя диспетчер памяти кидает ошибки даже на такие мелочи, то у него просто windows встанет. Решит он проблему только через кнопку RESET. Ваше мнение?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2014, 12:14
Ответы с готовыми решениями:

Реализация стека на массиве и динамическом распределении памяти
всем привет, дано такое задание: Используя стек, решить следующую задачу....

Ошибка при распределении памяти: realloc(): invalid next size
Добрый день. Написал программу с динамическим массивом. Нужно для него сделать...

Нахимичил при распределении памяти, теперь на компе один локальный диск 150 гб, остальные 350 гб пропали
Переустановил Windows 8 на Windows 7. На химичил при распределение памяти....

Ошибка при динамическом выделении памяти
Здравствуйте! В программе возникает ошибка при выполнении: отлаживаю:после 9...

Ошибка при динамическом выделении памяти
почему у меня возникет ошибка вот тут struct TOVAR *New = new struct TOVAR;...

3
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,161
Записей в блоге: 17
26.04.2014, 13:35 #2
Лучший ответ Сообщение было отмечено no_wearines как решение

Решение

Цитата Сообщение от no_wearines Посмотреть сообщение
Скажите, стоит ли при каждом динамическом распределении памяти перехватывать возможные ошибки через try/catch.
Нет смысла, разве что выделение идет большими кусками, да и то...

Если рапределить память не удалось что делать "в перехвате" на это?
Думаю ничего нельзя сделать, только закрыть приложение, тогда смысл перехватывать ?
Кроме того в С++Builder уже есть глобальный перехват:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    try
    {
        Application->Initialize();
        Application->MainFormOnTaskBar = true;
        Application->CreateForm(__classid(TMainForm), &MainForm);
        Application->Run();
    }
    catch (Exception &exception)
    {
        Application->ShowException(&exception);
    }
    catch (...)
    {
        try
        {
            throw Exception("");
        }
        catch (Exception &exception)
        {
            Application->ShowException(&exception);
        }
    }
1
BRcr
4015 / 2305 / 291
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
26.04.2014, 13:57 #3
Есть смысл отдельно ловить ошибки по выделению памяти только в том случае, если в программе предусмотрена возможность работы с меньшим потреблением оперативки в ущерб, скажем, скорости работы. Если же такой возможности нет, прога все равно работать не будет, лови ошибки или нет. Как вариант еще - выдавать пользователю подсказки, вроде того, как можно увеличить оперативку за счет свопа, что можно позавершать лишние процессы и все такое.
1
no_wearines
53 / 49 / 21
Регистрация: 01.01.2012
Сообщений: 343
26.04.2014, 13:59  [ТС] #4
понял. тема закрыта.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2014, 13:59

Ошибка при динамическом выделении памяти
Я не понимаю почему, но почему-то пример по динамическому выделению памяти,...

Создание исключения при динамическом выделении памяти
Вот код из учебника в нем мне все понятно. #include<iostream>...

Ошибка при очистке памяти в динамическом массиве
вот имеется такой код. программа, которая вставляет массив в массив. всё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru