На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> Обработка исключения при работе с idHTTP
    Добрый день. Подскажите пожалуйста, вот у меня есть кусочек кода:
    ExpandedWrap disabled
        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 не работает в этом блоке.
    Сообщение отредактировано: Navern -
      Мм, P.O.D., к чему мне сетевое программирование? Смысл-то не в том, что идёт обработка запросов, а в том, что мне надо вызвать блок "try" заново. Он сам по себе никакого отношения к сетевому программированию не имеет.
        Цитата Navern @
        Так вот вопрос: каким образом при исключении выполнить блок "try" с самого начала?

        А если заключить обработку запроса в блок while??? :D
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0255 ]   [ 16 queries used ]   [ Generated: 18.06.25, 21:22 GMT ]