C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как проигнорировать ошибку!, Как проигнорировать ошибку!
Alex83
Отправлено: 19.03.2004, 16:35


Ученик-кочегар

Группа: Участник
Сообщений: 25



У меня такая проблема я пользуюсь такими компонентами как ClientSocket(клиент) и ServerSocket(сервер) и когда происходит подключение ClientSocket (но прога где ServerSocket не включена) происходит ошибка.
А мне надо чтоб выдовало не системнюю ошибку, а мою.
т.е. если прога сервер(ServerSocket) не включена выкидывало не ошибку ...
а до пустим сообщение "Сервер не включен"

Или просто раскажите как обрабатывать ошибки(любую не только которую я предложил выше)
Надеюсь я понятно вырозился что мне надо!
Roman
Отправлено: 19.03.2004, 16:54


Дежурный стрелочник

Группа: Участник
Сообщений: 78



Обрабатывай ошибку подключения ClientSocket...


//при возникновении ошибок в связи
void __fastcall TFTest::ClientSocketError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{

ClientSocket->Active = false;
Label->Caption = "Ошибка связи";
ErrorCode = 0; //обязательно
}

Alex83
Отправлено: 19.03.2004, 17:12


Ученик-кочегар

Группа: Участник
Сообщений: 25



Спасибо большое работает, но мне теперь интересно а как можно обработать эту ошибку программно!(не через событие)
типа
if (error...) Label->Caption = "Ошибка связи";
А так можно сделать?
просто как кокретнее я не знаю
Roman
Отправлено: 19.03.2004, 17:18


Дежурный стрелочник

Группа: Участник
Сообщений: 78



Можно через блок

try {
ClientSocket->Active = true;
} catch (...) {Label->Caption = "Ошибка связи";}

Alex83
Отправлено: 19.03.2004, 18:41


Ученик-кочегар

Группа: Участник
Сообщений: 25



catch (...) {Label->Caption = "Ошибка связи";}



а что подразумевается под (...)
exp
Отправлено: 21.03.2004, 11:26


Мастер участка

Группа: Участник
Сообщений: 304



любая ошибка.
.piero
Отправлено: 21.03.2004, 20:55


Дежурный стрелочник

Группа: Участник
Сообщений: 62



Roman прав, только лучше сделать это на Application->MessageBo();
biggrin.gif

Вернуться в Вопросы программирования в C++Builder