2017-06-11 13 views
-1

なぜそれがそのように動作しているのかわかりませんが、例外が発生したときにデバッガが起動してアプリケーションが壊れます。 なぜ実行を継続していないのですか?C++ clr例外処理が実行を停止しています

try 
{ 
    response = httpClient->PostAsync(gcnew Uri(url), content)->Result; 
} 
catch (const std::exception& ex) 
{ 

} 

enter image description here

+0

std :: exceptionの後にSocketExceptionが継承されますか? – ArturFH

+1

デバッガは、アプリケーションがキャッチできない例外をスローすると、常に入ります。そして、いいえ、std :: exceptionをキャッチしてもSystem :: Exceptionを捕まえることは決してありません。デバッガから伝えることができるように実際にスローされたSocketExceptionをキャッチすることを検討してください。 –

答えて

0

私は間違った方法でそれをやっていたようです。 私は適切な例外クラスを使用していたはずです。

try 
{ 
    response = httpClient->PostAsync(gcnew Uri(url), content)->Result; 
} 
catch (System::Exception^ e) 
{ 

} 
+0

はい、例外ハンドラは明らかにマネージクラス( "gcnew"キーワードの使用法を示しています)の中にあるため、.NETルールで再生し、 "管理された例外"をキャッチする必要があります。 – SBS

関連する問題