Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка сокета, Как обработать исключение? 
:(
    Опции темы
Romero
Дата 1.6.2005, 13:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











При попытке произвести коннект:

IdTCPClient.Connect; //использую Indy's TCP Server & Client

если сервак не подключен по указанному адресу, то возникает ошибка сокета №10061.

Хочу обработать исключение. Так, чтобы в случае подобной или любой другой ошибки, возникающей при подключении к серверу, выполнялось некое дествие.
Попытка написать так:

Код

try
IdTCPClient.Connect;
except
//то самое действие
end;


не дала результатов - прога все равно вылетает с той же ошибкой!

Что не так? Помогите, пожалуйста!

Это сообщение отредактировал(а) Girder - 10.10.2005, 15:25
  Вверх
_hunter
Дата 1.6.2005, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



без отладчика запусти. или в свойсвах дебаггера отключи останов на исключениях


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Romero
Дата 1.6.2005, 16:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Дело в том, что прога вылетает с этим сообщением не только во время компиляции, но и уже откомпиленная.
Даже если бы это решило проблему, это не то, что мне нужно. Я хочу именно ОБРАБАТЫВАТЬ такие ошибки, а не игнорировать...
  Вверх
z-END
Дата 1.6.2005, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 1
Всего: 102



Цитата(Romero @ 1.6.2005, 17:09)
Я хочу именно ОБРАБАТЫВАТЬ такие ошибки, а не игнорировать...

Хочешь- обрабатывай, кто тебе мешает?! except не значит "игнороировать", а значит этот блок будет выполняться при возникновении исключительной ситуации в блоке try
и тут ты уже делай че хочешь, обрабатывай сколько влезет:))
Код

try
IdTCPClient.Connect;
 except
ShowMessage(' Нифига не коннект:(');
end;

скомпилируй такую вещь и запусти ее, только не из дельфей а проводником, при невозможности законнектицца ты увидишь только тест 'Нифига не коннект:('


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
_hunter
Дата 1.6.2005, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



Цитата
Дело в том, что прога вылетает с этим сообщением не только во время компиляции, но и уже откомпиленная.

странно было бы если бы она вылетала с этим сообщением при компиляции smile


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Romero
Дата 1.6.2005, 16:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всё, дошло.
Пасиба!
  Вверх
Гость_Praetorian
Дата 10.10.2005, 15:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Та же ерунда... тока ничего не дошло из выше написанного. Ошибка 10060. Короче говоря вышел таймаут по коннекту. Вообщем суть использования IdTCPClient-а в Пинге определенного Ip-шника. На норм пинг - все ок, в на отсутствие соединения - посылает на #10060. Что делать??? smile ПЛЗ ХЛП!!!
  Вверх
Stolzen
Дата 17.10.2005, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: нет
Всего: 48



Попробуй написать отлов ошибок так:

procedure TMainForm.MyExcept(Sender: TObject; Err: Exception);
begin
if Err = EidError then exit;
end;

В OnCreate:
Application.OnException := MyExcept;

И теперь, при ошибке будут появлятся твои сообщения (или не будут вообще)



--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.