<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=271031&amp;view=findpost&amp;p=2252092</guid>
        <pubDate>Sat, 25 Apr 2009 13:10:49 +0000</pubDate>
        <title>Обработка исключения при работе с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=271031&amp;view=findpost&amp;p=2252092</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=271031&view=findpost&p=2252043'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Navern &#064; <time class="tag-quote__quoted-time" datetime="2009-04-25T15:24:05+04:00">25.04.09, 11:24</time></span><div class='quote '>Так вот вопрос: каким образом при исключении выполнить блок &quot;try&quot; с самого начала?</div></div><br>
А если заключить обработку запроса в блок while??? :D]]></description>
        <author>medved_68</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=271031&amp;view=findpost&amp;p=2252057</guid>
        <pubDate>Sat, 25 Apr 2009 11:45:18 +0000</pubDate>
        <title>Обработка исключения при работе с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=271031&amp;view=findpost&amp;p=2252057</link>
        <description><![CDATA[Navern: Мм, P.O.D., к чему мне сетевое программирование? Смысл-то не в том, что идёт обработка запросов, а в том, что мне надо вызвать блок &quot;try&quot; заново. Он сам по себе никакого отношения к сетевому программированию не имеет.]]></description>
        <author>Navern</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=271031&amp;view=findpost&amp;p=2252043</guid>
        <pubDate>Sat, 25 Apr 2009 11:24:05 +0000</pubDate>
        <title>Обработка исключения при работе с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=271031&amp;view=findpost&amp;p=2252043</link>
        <description><![CDATA[Navern: Добрый день. Подскажите пожалуйста, вот у меня есть кусочек кода:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp;GET.Get(&#39;http://&#60;ресурс&#62;.ru/forum/index.php?action=login2&amp;user=&#39;+login+&#39;&amp;passwrd=&#39;+password);</div><div class="code_line">&nbsp;&nbsp;except</div><div class="code_line">&nbsp;&nbsp; &nbsp;on E : Exception do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if pos(&#39;302 Found&#39;, E.Message) &#60;&#62; 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Synchronize(Progress)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;...; // вот здесь - что?</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
При запросе Get в ответе от сервера может прийти либо код 200 (ошибка на экране не показывается, значит пропускаем), либо вызваться одно из следущих исключений:<br>
- 302 - это значит, что сработал редирект. Это означает, что пару логин-пароль нужно поместить в листбокс.<br>
- 503 - сервис временно недоступен. Значит, нужно вернуться ещё раз к блоку &quot;try&quot;.<br>
- -1 - неизвестно что. Тоже надо вернуться.<br>
- может вообще прийти пустой ответ. И тоже это означает, что необходимо вернуться.<br>
И так надо возвращаться назад до тех пор, пока в ответе от сервера не будут присутствовать либо 302 (и обработать), либо 200 (вообще пропустить).<br>
<br>
Так вот вопрос: каким образом при исключении выполнить блок &quot;try&quot; с самого начала? Goto не работает в этом блоке.]]></description>
        <author>Navern</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	