0

Visual C ++でファーストチャンス例外を一時的に無効にする方法はありますか?

このようなもの:

void someFunc() {
   disableFirstChanceExceptions();

   try {
     // some code
   }
   catch (std::exception& e) {
     // some code
   }
   catch (...) {
     // some code
   }

   enableFirstChanceExceptions();
}

ファーストチャンスの例外とは何か、そしてそれらの使い方を知っています。

問題は、例外が使用されているDLLを配布していることです。
残念ながら、顧客が自分のプログラムでデバッガーを使用している場合、彼は私のインターンの例外に気付くでしょう。
それらを隠したいのではなく、これらのサポートの質問を取り除きたいのです。

4

2 に答える 2

3
  • あなたのコードは例外をスローします。
  • 顧客は、コードに対してデバッガーを実行することを主張し、最初の例外で中断するように明示的に構成します

基本的に 2 つのオプションがあります。

  • 例外をスローしない、または
  • あなたの顧客が愚かであるときは無視してください。コードが意図したとおりに機能する限り、コードが内部で行うことは関係ありません。

私は後者を提案します。例外がスローされ、サードパーティ コード内でキャッチされるという問題がある場合、多くのライブラリを使用できないことに気付くでしょう。彼らは成長し、自分が何をしているかを知っているかのように振る舞う必要があります.

于 2012-03-22T13:17:17.603 に答える
0

最初のチャンスの例外は、コードでオンとオフを切り替えることができるものではありません (Windows、vs、C++ チェーンについてのみ言えば、他のプラットフォームに精通していません)。これは、デバッグを可能にするためにランタイム システムに組み込まれている構造です。デバッガーは、初回例外の一部またはすべてを無視するように構成できます。ctrl + alt + e を使用して、VS デバッガーの例外処理動作メニューを表示できます。これにより、クライアントのデバッグで、デバッガーがキャッチしたいものをフィルター処理できます。

于 2012-03-22T12:58:04.850 に答える