Cで書かれたcURLライブラリを使用するC++プログラムで作業しています。 cURLハンドルで間違ったURLアドレスに接続しようとすると、例外:cURL libを使用してC/C++で例外をキャッチする
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct NULL not valid
このURLをスキップする代わりに、私のプログラムは終了します。ここで は私のコードの抜粋です:
CURL* curl;
curl_easy_setopt(curl, CURLOPT_URL, "incorrect URL");
curl_easy_perform(curl); // this method throws the expection
私はこのようにそれを処理しようとした:
try{
curl_easy_perform(curl);
} catch { std::logic_error &e){
return -1; // skip this URL and go futher
}
しかし、まだプログラムが終了し、例外が適切に処理されていないようです。
ファイル "stdexcept"が含まれています。
誰でもこのエラーについてよく知っていますが、この例外を正しくキャッチしてプログラムを正常に動作させる方法はありますか?
例外がスローされると、デバッガを接続してスタックトレースを送信します。 –
'curl_easy_perform()'ではなく 'curl_easy_setopt()'が例外を投げるかどうかをチェックしましたか? –
いいえ、私はしませんでした。いい視点ね。私は、新しい年のイブパーティーから結果を投稿して戻った後にチェックします。 – koleS