Я пользуюсь библиотекой Функция ConnectToTCPServer. Эта функция отключается, когда хост недоступен. В этом случае приложение выходит из строя со следующей ошибкой: «ОШИБКА НЕПРЕРЫВНОГО ОШИБКА:« MyClient.c », строка 93, столбец 15, идентификатор потока 0x000017F0: ошибка функции библиотеки (возвращаемое значение == -11 [0xfffffff5]). Ошибка тайм-аута «Как я могу поймать ошибку времени выполнения в ansi C90
Errorcode 11 - ошибка таймаута, так что это может произойти довольно часто в моем приложении - однако приложение сбой - я хотел бы поймать эту ошибку, а не сбой приложения.
Как я могу поймать эту ошибку времени выполнения в Ansi C90?
EDIT: Вот 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;
}
Callbackfunction никогда не вызывается. Мой сервер не работает, поэтому ConnectToTCPServer истечет. Я бы заподозрил, что вызван обратный вызов, но он никогда не называется.
EDIT 2: Функция обратного вызова фактически не вызывается, возвращаемое значение ConnectToTCPServer содержит ту же информацию об ошибке. Я думаю, это может быть ошибка, которая вызывает ошибку ConnectToTCPServer. Мне просто нужно поймать его и выложить на C90. Есть идеи?
РЕДАКТИРОВАТЬ 3: Я проверил функцию обратного вызова, в редких случаях, когда мой сервер подключен к функции обратного вызова, на самом деле это вызвано - это не помогает, хотя из-за того, что обратный вызов не вызывается при возникновении ошибки.
Я был болен и в настоящее время не могу проверить это - я смогу пройти тест через две недели. – Johannes
Спасибо - это помогло ... извините, я не сразу ответил. Я был заперт в комнате в течение 8 недель ... по требованию клиентов. – Johannes