
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
![]() |
|
|
Добрый день. Подскажите пожалуйста, вот у меня есть кусочек кода:
![]() ![]() try GET.Get('http://<ресурс>.ru/forum/index.php?action=login2&user='+login+'&passwrd='+password); except on E : Exception do begin if pos('302 Found', E.Message) <> 0 then Synchronize(Progress) else ...; // вот здесь - что? end; При запросе Get в ответе от сервера может прийти либо код 200 (ошибка на экране не показывается, значит пропускаем), либо вызваться одно из следущих исключений: - 302 - это значит, что сработал редирект. Это означает, что пару логин-пароль нужно поместить в листбокс. - 503 - сервис временно недоступен. Значит, нужно вернуться ещё раз к блоку "try". - -1 - неизвестно что. Тоже надо вернуться. - может вообще прийти пустой ответ. И тоже это означает, что необходимо вернуться. И так надо возвращаться назад до тех пор, пока в ответе от сервера не будут присутствовать либо 302 (и обработать), либо 200 (вообще пропустить). Так вот вопрос: каким образом при исключении выполнить блок "try" с самого начала? Goto не работает в этом блоке. |
Сообщ.
#2
,
|
|
|
Мм, P.O.D., к чему мне сетевое программирование? Смысл-то не в том, что идёт обработка запросов, а в том, что мне надо вызвать блок "try" заново. Он сам по себе никакого отношения к сетевому программированию не имеет.
|
Сообщ.
#3
,
|
|
|
Цитата Navern @ Так вот вопрос: каким образом при исключении выполнить блок "try" с самого начала? А если заключить обработку запроса в блок while??? ![]() |