Это несколько связано с моим предыдущим вопросом. Детали фона здесь: Простой HTTP-запрос с C ++
В основном я отправляю данные на сервер через URL с C ++. Теперь я использую функцию openURL () в классе CInternetSession, чтобы сделать это. Если openURL успешно подключается к серверу, никаких ошибок или исключений не выдается. Однако иногда в отладчике в Visual C ++ 2006 я получал это всплывающее окно
First-chance exception in myProg.exe (KERNELBASE.DLL):
0xE06D7363: Microsoft C++ Exception.
Я установил исключения отладки, чтобы «остановить всегда», и в окне отладки это показывает мне
Warning: throwing CInternetException for error 12029
Кроме того, когда я запускаю программу отдельно (без отладчика и прочего), я получаю всплывающее окно с сообщением об ошибке отладки.
Я понимаю, что это потому, что openURL () не может установить соединение с указанным URL. Однако сейчас моя проблема в том, что я не хочу, чтобы всплывающее окно сообщало мне об этом. Я поместил блок try catch вокруг моего кода, но он все еще не обрабатывает исключение. Вот код
try {
// Open HTTP file
pHttpFile =(CHttpFile *) mySession.OpenURL(test1.c_str());
}
catch (CInternetException) {
printf("Received Exception from OpenURL()");
// Handle exception
}
Я что-то здесь упускаю !?
Попробуйте подключиться к этому IP-адресу другим способом вручную с помощью «подключения». Если вы можете подключиться к нему, то openURL не сгенерирует исключение, потому что вы уже проверили, что можете подключиться к нему с помощью другой функции, которую я только что упомянул.
Можете ли вы также посмотреть в своем коде, чтобы исключение не создавалось где-либо еще?