На главную Наши проекты:
Журнал   ·   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_
  
> Как определить актуальность ResponseCode при возникновении исключения?
    Насколько я вижу, в Indy 10, если не выставлен флаг hoNoProtocolErrorException, запросы генерят исключение при неуспешном результате запроса (например, ошибка 404 и пр). При этом ResponseCode устанавливается в нужное значение (404). Однако, если исключение возникает по какой-то другой причине (например, таймаут), то ResponseCode, как я вижу, не меняется. Т.е. если при прошлом запросе было 200, то так 200 и останется.

    Вопрос: можно ли каким-то образом либо сбросить ResponseCode в -1 перед вызовом (прямым присваиванием не получится, ибо это read only property), либо определить был ли ResponseCode установлен в нужное значение или нет? Можно отлавливать EIdHTTPProtocolException, но есть подозрение, что это не единственное исключение, при котором устанавливается ResponseCode.

    Резюме: нужно после отправки запроса определить актуальность значения ResponseCode, если возникло исключение. Каким образом это можно сделать?
      Хочешь сказать, responsecode не очищается при отправке следующего запроса? Кмк, это баг, причем очевидный. Возможно, стоит сообщить разрабу.
      В целом исключение на http ошибку это порочная практика. Лучше просто это отключить и обрабатывать коды ответов самому
        Fr0sT, не очищается. И полагаю, разрабы так специально сделали зачем-то. А исключения по HTTP-ошибке отключается опцией.
        Ну а вообще, пора надо на THTTPClient переходить :)
          Я очень мало знаком с индями, но некоторые их идеи вызывают у меня крайнюю степень охреневания. Хотя нынешний мейнтейнер чел очень адекватный. Возможно, всё это было задолго до него
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


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