Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 1
Регистрация: 11.06.2012
Сообщений: 40

Обработка всех исключений TIdHTTP + немного ООП

12.01.2013, 18:45. Показов 2538. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. У меня возникла потребность в обработке всех исключений компонента TIdHTTP для более детального отчёта работы программы.
А именно при
First chance exception at $755D2005. Exception class EIdSocketError with message
'Socket Error # 10060
Connection timed out.'.
Process Main_Program.exe (5004)
и

First chance exception at $755D2005. Exception class EIdHTTPProtocolException with message 'HTTP/1.1 302 Found'. Process Main_Program.exe (5004)
Первый случай это таймаут подключения (великолепный вайфай) и второй случай неверный логин и пароль, на требуемую страницу не пустило с сообщением выше ^^

Все эти исключения возникают при GET запросе

C++
1
2
try { page=IdHTTP1->Get("http://*******/**"); }
catch (...) { delete(IdHTTP1); return false; }
Когда catch(...) - я так понимаю обрабатываются все исключения, а мне бы конкретно на каждое исключение нужно определённое действие сделать.



+++
Вопрос по теме ООП скорее ещё возник.
Как сделать так, чтобы из модуля (отдельный #include "blablabla.h") сделать видимым Form1 (уже за#include'но) при компиляции? Пока не началась компиляция Form1->... видит и предлагает на выбор методы формы, однако при компиляции сообщает что Form1 - нечто неизвестное.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.01.2013, 18:45
Ответы с готовыми решениями:

Обработка исключений на форме - одно для всех ошибок
Доброго времени суток, уважаемые форумчане. Пробую разобраться с try...throw...catch. В целом, как это делается в консольных проектах и...

Немного философии ООП
На днях на работе возник холивар с коллегами, к правильному решению пришли только на следующий день, почитав Мейерса и Саттера (один из...

Обработка исключений
Как можно получить номер строки, вызвавшей исключение? К примеру выполняется ряд однотипных действий, которые могут потенциально вызвать...

9
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.01.2013, 18:56
https://www.cyberforum.ru/blog... og608.html
1
0 / 0 / 1
Регистрация: 11.06.2012
Сообщений: 40
12.01.2013, 19:04  [ТС]
Отлично. За исключения благодарю, хотя не совсем понятно как именно распознать 302 или 404 и т.д. но думаю разберусь

И ещё вопрос возник по поводу конструкторов: если повторно вызвать конструктор - чем мне это обернётся?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.01.2013, 19:08
Цитата Сообщение от Maximbl4 Посмотреть сообщение
хотя не совсем понятно как именно распознать 302 или 404 и т
Через E.ErrorCode
На примере перенаправления https://www.cyberforum.ru/blog... 8.html#a_4

Добавлено через 32 секунды
Цитата Сообщение от Maximbl4 Посмотреть сообщение
И ещё вопрос возник по поводу конструкторов: если повторно вызвать конструктор - чем мне это обернётся?
Каких конструкторов ?
0
0 / 0 / 1
Регистрация: 11.06.2012
Сообщений: 40
12.01.2013, 19:18  [ТС]
Конструктор внутри класса
К примеру (!)
C++
1
2
3
4
5
class A{
public:
int *key;
A(){key=new key[10];}
};
И в самой программе я вызову несколько раз
C++
1
2
3
4
A *obj;
obj=new();
...
obj=new();
? что произойдёт тогда? Я создам новый объект, а старый затеряется? Или он просто обновит его? И будет ли утечка памяти?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.01.2013, 19:24
Будет
Цитата Сообщение от Maximbl4 Посмотреть сообщение
а старый затеряется?
Цитата Сообщение от Maximbl4 Посмотреть сообщение
И будет ли утечка памяти?
0
0 / 0 / 1
Регистрация: 11.06.2012
Сообщений: 40
12.01.2013, 20:04  [ТС]
Ага.. ясно, спасибо

И один вопрос ещё остаётся открытым)
Как в модуле сделать Form1 видимым при компиляции?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.01.2013, 20:06
File -> Use Unit ... и подключаешь соответствующий юнит с формой, но это уже другой вопрос - правила форума одна тема один вопрос...
0
0 / 0 / 1
Регистрация: 11.06.2012
Сообщений: 40
12.01.2013, 20:13  [ТС]
[bcc32 Error] module.h(96): E2451 Undefined symbol 'Form1'

Хотя при этом когда я ввожу Form1->... её видит
Миниатюры
Обработка всех исключений TIdHTTP + немного ООП  
0
0 / 0 / 1
Регистрация: 11.06.2012
Сообщений: 40
12.01.2013, 20:37  [ТС]
Всё понял! Перенёс из заголовочного в cpp и всё заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2013, 20:37
Помогаю со студенческими работами здесь

Обработка исключений
Добрый вечер, возникла такая проблема: пытаюсь поймать обработчиком исключений ошибку при открытии файла и помещении его в Memo, но ошибка...

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

создание и обработка исключений
подскажите как реализовать свой класс исключений, а затем создать исключение этого типа? есть код class EError: public Exception{};...

Debug и обработка исключений
Добрый день. Вопрос в следующем, генерирую сам исключение: try { throw(1); } catch (...) { ... }

Обработка сразу всех исключений
С исключениями работать пока не приходилось, так что если вопрос мой наивен - пардона просим :) Возможно ли обработать сразу все...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru