Я использую библиотеку Функция ConnectToTCPServer .Эта функция отключается, когда хост недоступен.В этом случае происходит сбой приложения со следующей ошибкой: «НЕФАТАЛЬНАЯ ОШИБКА ЗАПУСКА:« MyClient.c », строка 93, столбец 15, идентификатор потока 0x000017F0: Ошибка функции библиотеки (возвращаемое значение == -11 [0xfffffff5]). Timeout error "
Errorcode 11 является ошибкой тайм-аута, поэтому это может происходить довольно часто в моем приложении - однако приложение вылетает - я хотел бы поймать эту ошибку, а не иметь мойсбой приложения.
Как я могу отловить эту ошибку во время выполнения в Ansi C90?
РЕДАКТИРОВАТЬ: Вот Codesnippet текущего использования:
ConnectToTCPServer(&srvHandle, srvPort, srvName, HPMClientCb, answer, timeout);
с
int HPMClientCb(UINT handle, int xType, int errCode, void *transData){
printf("This was never printed\n");
return errCode;
}
Функция обратного вызова никогда не вызывается.Мой сервер не работает, поэтому время ожидания ConnectToTCPServer истечет.Я подозреваю, что обратный вызов вызывается - но он никогда не вызывается.
РЕДАКТИРОВАТЬ 2: Функция обратного вызова на самом деле не вызывается, значение возврата ConnectToTCPServer содержит ту же информацию об ошибке.Я думаю, что это может быть ошибка, что ConnectToTCPServer выдает эту ошибку.Мне просто нужно поймать его и скопировать в C90.Любые идеи?
РЕДАКТИРОВАТЬ 3: Я тестировал функцию обратного вызова, в редких случаях, когда мой сервер подключен к сети, фактически вызывается функция обратного вызова - хотя это не помогает, потому что обратный вызов не вызывается при возникновении ошибки.