Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2013, 19:54   #1
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию Не могу отловить исключения EIdSocketError

Добрый день. Не могу отловить исключения класса EIdSocketError.
Пример кода:
Код:
proceure post;
begin

 try
    PauseStop;
    Result := IdHTTP.POST(Url, Data);
    PauseStop;
  except
    on   E: Exception  do
    begin
      if E.ClassType = EIdSocketError then
      .....
    end;

end;
Собственно в коде вышел исключение не отлавливается, игнорится.

Пробовал еще так
Код:
proceure post;
begin
 try
    PauseStop;
    Result := IdHTTP.POST(Url, Data);
    PauseStop;
  except
    on   E: EIdSocketError  do
    begin 
      .....
    end;
  end;
end;
Результата то же нет.
Помогает только обвязать вызов процедуры post в свой try except end;, т.е

Код:
proceure post;
begin
 try
    PauseStop;
    Result := IdHTTP.POST(Url, Data);
    PauseStop;
  except
    on   E: EIdSocketError  do
    begin 
      .....
    end;
  end;
end;

procedure test;
begin
 try
   post;
  except
    on   E: Exception   do
    begin 
      ..... //тут уже все срабатывает 
    end;
  end;
end;
Вот такие вот дела, подскажите как быть! Delphi XE4, инди там новая думаю.
Спасибо
bakanaev вне форума Ответить с цитированием
Старый 07.12.2013, 19:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Помогает только обвязать вызов процедуры post в свой try except end
Ну дык чем не подходит такой выход?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2013, 20:04   #3
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну дык чем не подходит такой выход?
процедура post одна на всю программу, а функций которые ее юзают больше 20, не вариант в каждой писать обработку EIdSocketError
bakanaev вне форума Ответить с цитированием
Старый 08.12.2013, 08:11   #4
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Нет ни у кого идей?))
bakanaev вне форума Ответить с цитированием
Старый 08.12.2013, 11:05   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

идея простая, не то исключение, у вас в пост ловите EIdSocketError, а выше просто Exception.
eval вне форума Ответить с цитированием
Старый 08.12.2013, 11:30   #6
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
идея простая, не то исключение, у вас в пост ловите EIdSocketError, а выше просто Exception.
Во втором примере, непосредственно EIdSocketError пробовал ловить. Толку 0
bakanaev вне форума Ответить с цитированием
Старый 08.12.2013, 11:39   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

так и я о том, нету его, вот и не ловите
eval вне форума Ответить с цитированием
Старый 08.12.2013, 13:43   #8
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
так и я о том, нету его, вот и не ловите
нет кого?

Код:
proceure post;
begin
 try
    PauseStop;
    Result := IdHTTP.POST(Url, Data);
    PauseStop;
  except
    on   E: EIdSocketError  do
    begin 
      .....
    end;
  end;
end;
bakanaev вне форума Ответить с цитированием
Старый 08.12.2013, 13:54   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

коня в польто
вы про что тут спрашиваете?
eval вне форума Ответить с цитированием
Старый 08.12.2013, 14:03   #10
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
вы про что тут спрашиваете?
Цитата:
Не могу отловить исключения класса EIdSocketError.
Цитата:
подскажите как быть!
что-то не понятно? И почему вы каждый раз придираетесь к моим темам и заданным в них вопросам??
bakanaev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исключения в Qt iukash Qt и кроссплатформенное программирование С/С++ 6 16.04.2011 18:54
Перехват EidSocketError KREGI Работа с сетью в Delphi 4 18.06.2009 19:55
Задача на наследование...не могу отловить ошибку assasin Общие вопросы C/C++ 13 06.06.2009 17:34
Исключения Rifler Общие вопросы Delphi 5 12.11.2008 00:29
raised exception class EIdSocketError with message' Socket Error # 10022 Invalid argument eldar Работа с сетью в Delphi 16 08.08.2008 23:49