라이브러리 ConnectToTCPServer 라이브러리를 사용하고 있습니다. 이 기능은 호스트에 연결할 수없는 경우 시간을 초과합니다. 이 경우 응용 프로그램이 다음 오류로 인해 충돌합니다. "중요하지 않은 런타임 오류 :"MyClient.c ", 줄 93, 열 15, 스레드 ID 0x000017F0 : 라이브러리 함수 오류 (반환 값 == -11 [0xfffffff5]) 시간 초과 오류 "어떻게 ansi C90에서 런타임 오류가 발생합니까?
Errorcode 11은 시간 초과 오류이므로 내 응용 프로그램에서 매우 자주 발생할 수 있습니다. 그러나 응용 프로그램이 충돌합니다. 응용 프로그램이 충돌하는 대신이 오류를 catch하고 싶습니다.
어떻게 Ansi C90에서이 런타임 오류를 잡을 수 있습니까?
편집 :
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가 호출되지 않습니다 : 다음은 현재 사용의 Codesnippet입니다. 내 서버가 실행 중이 아니므로 ConnectToTCPServer가 시간 초과됩니다. 나는 그 콜백이 호출되었다고 의심 할 것이다. 그러나 그것은 결코 호출되지 않는다.
EDIT 2 : 실제로 콜백 함수가 호출되지 않고 ConnectToTCPServer의 반환 값은 동일한 오류 정보를 포함합니다. ConnectToTCPServer이이 오류를 throw하는 버그 일 수 있습니다. 나는 그것을 잡아야하고 C90에 보관해야합니다. 어떤 아이디어?
EDIT 3 : 드물게 내 서버가 온라인 상태 인 콜백 함수를 실제로 테스트했습니다. 오류 발생시 콜백이 호출되지 않기 때문에 콜백 함수가 실제로 호출됩니다.
나는 아팠고 현재 이것을 테스트 할 수 없습니다. 테스트 할 수 있습니다. 2 주 후입니다. – Johannes
감사합니다. -이 도움이되었습니다 ... 죄송합니다. 나는 즉시 응답하지 않았습니다. 고객의 요구에 따라 8 주 동안 방안에 잠겼습니다. – Johannes