0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 16
|
||||||
1 | ||||||
Блок try catch жрет память18.11.2013, 12:45. Показов 4769. Ответов 48
Метки нет (Все метки)
Доброго времени суток! Проблема случилась там, где ее никак не ожидал, ответа ни в поисковиках, ни на форумах не нашел. Вся надежда на вас!
в общем есть блок
Среда : C++ Builder 6 Без блока try catch память не растет, но приложение при ошибке перестает работать, естественно. Читал о том, что в c++ у блока catch отсутствует деструктор. Еще читал про то, что если поставить ключ компиляции /EHa, то catch не будет кушать память.. Помогите, пожалуйста, весь интернет перерыл, не могу найти ответ.
0
|
18.11.2013, 12:45 | |
Ответы с готовыми решениями:
48
Считывание vector<string> - жрёт память Конструкция try catch в цикле while. Зацикливается блок catch Отрисовка в таймере жрет память Браузер Awesomium жрет память |
Заблокирован
|
|
21.03.2015, 11:00 | 41 |
Если ты вдруг не знал этого то процитирую ВиКи
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
21.03.2015, 16:41 | 42 |
Рад за тебя. Но ТС использует, и ответ ему нужен по совершенно конкретной проблеме, которая, судя по всему, связана с совершенно конкретной библиотекой. Ты о ней не знаешь, я о ней тоже не особо в курсе. Однако твой подход таков, что если у тебя в руке молоток (MFC) - всё можно считать гвоздями (исключения передаются по указателю). Но не надо навязывать молоток людям, которые пилят дрова. Потому что дрова - это не гвозди.
Любой компилятор под винду будет содержать подобный файл. Но из этого вовсе не следует, что исключения будут использоваться в MFC-манере с передачей по указателю. Это с высокой долей вероятности не соответствует действительности. Объясняю почему: 1. GibbonCho (первый ТС) написал перехват по указателю (ты как раз за этот момент зацепился, и приплел сюда MFC), но это ещё не значит, что ТС вообще понимал что пишет. 2. Почему-то ты не учел, что класс называется не CException как принято в MFC, а Exception (базовый класс исключений в VCL). 3. ТС явно указал какую среду он использует Заметь, это не Visual Studio. 4. ТС даже начал сомневаться в исходной постановке задачи: 5. У второго "ТС" (Dreablin) никаких указателей нет и в помине (см. код в сообщении #24). Явная передача по ссылке. После этого ты всё ещё будешь утверждать: ? Или любое исключение, которое возникает в программе под виндой ты называешь "вин исключением"? Удачи.
5
|
Заблокирован
|
||||||
21.03.2015, 17:27 | 43 | |||||
Ещё раз для особо непонятливых речь тут идёт о Билдере
который содержит windows.h, код в посте 1 указывает на механизм эксепшинов WIN(которых ты не знаешь) код Dreablin не соджержит класса эксепшна потому как по всей видимости человек наивно предполагал что catch(...) излечит от всего.
Касательно проблемы - достаточно сделать вот это
Касательно MFC, с ним написана добрая часть ОС окна, что тебе не нравится?Да я определённое время создавал GUI на нём и знаю MFC довольно неплохо и что из этого?
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
21.03.2015, 18:01 | 44 |
Я уже объяснил выше, что это ничего не значит с точки зрения подхода к использованию исключений.
Если бы он содержал например afx.h можно было бы что-то утверждать про твои CException. Может ты сможешь мне показать хотя бы один проект, где используется CException (из MFC) внутри C++Builder проекта? Это могло бы послужить хорошим основанием в поддержку твоей версии. Сообщение #24. Ты его не смотрел? О каком вообще диалоге может идти речь, если ты тупо не читаешь того, что тебе пишут? Про "молоток-гвозди" ты похоже совсем ничего не понял. Не надо видеть MFC там, где его нет.
0
|
49 / 37 / 14
Регистрация: 05.02.2010
Сообщений: 249
|
|
23.03.2015, 17:16 | 45 |
Срач я ваш почитал, но это не дало результат.
Сейчас актуальный вопрос - как сделать, что бы не было исключения при отсутствии ответа по истечении времени ожидания. Диспетчер задач (монитор ресурсов, если точнее) показывает кучу открытых соединений. Либо где-то в Indy есть такая настройка Либо использовать не Indy.
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
23.03.2015, 17:39 | 46 |
Dreablin, рекомендую тебе создать новую тему в более подходящем разделе: https://www.cyberforum.ru/cpp-builder/
Но, смотрю, ты уже создал.
0
|
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
|
23.03.2015, 23:40 | 47 |
Я обращаюсь к администрации форума разблокируйте пожалуйста разблокируйте -=ЮрА=-, он иногда и горячиться, но всегда по делу и всегда приводить полезный, работоспособный код. Вот отличие от некоторых модераторов которые умеют править только чужие комментарии, а программировании слабы. Вот и сейчас мое сообщение отредактирует или даже удалит какой-нибудь новоиспеченный модератор слабо разбирающийся в программировании. На сколько я видел, но не использует ненормативную лексику явно, хотя я и встречал на форуме, кто в открытую материться и им это сходит с рук. Почему такая не справедливость??????
1
|
DrOffset
|
24.03.2015, 01:00
#48
|
Не по теме: isaak, о таких вещах надо в личку модераторам писать.
0
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
24.03.2015, 09:48 | 49 |
Жизнь - боль.
Гон. Не все модеры конечно гуру, но проверку на знание предметной области они проходят. Многим тут кажется, что его претензии к людям не всегда по делу. Как правило - срач начинается совместно с его приходом в тему. При том, ему кажется что все вокруг ополчились и хотят его задеть. Что на самом деле не так. Он обладает знаниями языка и некоторых библиотек (в основном по части WinAPI) и иногда его советы несут пользу. Просто критика, даже малейшая, вызывает у него дикую ненависть к комментатору. И по части ещё как использует. Просто модеры успевают подтирать.
6
|
24.03.2015, 09:48 | |
24.03.2015, 09:48 | |
Помогаю со студенческими работами здесь
49
Что то жрет оперативную память Что то жрет оперативную память Программа с opencv жрет память Самовсплывающая реклама в браузере и жрет память Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |