問題タブ [first-chance-exception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ OBJ パーサー - 最初のチャンスの例外
.obj ファイルを解析し、.obj ファイルで定義されたモデルを OpenGL でレンダリングする C++ プログラムを作成しようとしています。これまでのところ、このコードで行うことになっているのは、.obj ファイルを開き、すべての頂点をベクトルに入れることです (.obj ファイルの頂点は、"v" で始まる行で定義されています)。
私の完全なコードは次のとおりです。
問題はラインで発生します
この行をコメントアウトすると、最初のチャンスの例外が発生しなくなります。文字列の代わりに char を使用すると、初回例外も発生しません。
c# - workitem.open() KeyNotFoundException TFS 2013
ディクショナリに値が見つからなかったことを示すこの例外「指定されたキーがディクショナリに存在しませんでした」で立ち往生していますが、奇妙なことに、ディクショナリを使用していません。内部コードだと思いますC# の TFS API の。例外を発生させるコードの一部を次に示します。
このコードは、作業項目を取得し、TFS API を使用していくつかの更新を実行するループの一部です。その後、メソッドSubmitChangesToDatabaseを使用してデータベースの読み取り専用フィールドを直接変更します。メソッドOpen()を呼び出すと、例外が発生します。スタック トレースは次のとおりです。
c# - FirstChanceException イベントで新しい例外をスローする方法
WCF のサービス層の FirstChangeException イベント ハンドラーを試しています。目的は、任意のメソッドから例外をキャプチャし、それを新しい FaultException としてスローして、クライアントに戻せるようにすることです。
たとえば、以下はテストサーバークラスです
ただし、return
前の呼び出しが新しい例外のスローによるものであったため、行の関数を終了すると、次のエラーが発生します。
私は愚かなことをしているに違いない。すべての例外ハンドラーをキャッチするという目的を達成するにはどうすればよいですか?
c# - IndexOutOfRangeException: 配列の名前を取得します
最近、職場で C# (.NET 4.0) プロジェクトを継承しました。このプロジェクトは 40 万行以上のコードであり、例外をキャッチする非常に大きなtry/catch ブロックを多数使用しています。時折、アプリケーションが IndexOutOfRangeException をスローすることがあります。私の上司は、例外をスローした配列の名前を明らかにする簡単な方法を見つけるように私に依頼しました。(このような大きな try/catch ブロックには多くの配列を含めることができます。) FirstChanceException イベントを使用して、IndexOutOfRangeException がスローされたときにコードを実行するようにトリガーできることを知っています。例えば:
残念ながら、この方法では問題のある配列の名前を見つけることはできないようですが、40 万行以上のコードをくまなく調べることはできません。
私は個人的にこのタスクのポイントを理解していませんが、助けていただければ幸いです。これは可能ですか?
編集: 5. 2014 年 8 月
明確にする必要があります。VS でデバッグするときに、問題のある配列を見つけるのは非常に簡単です。このタスクのポイントは、クライアントがプログラムのリリースビルドを使用しているときに例外をスローする配列を検出することです。プログラムは一連のログ ファイルを使用しますが、これらのファイルはスローされた例外の種類のみを示し、アレイ名や行番号は示しません。
.net - 最初のチャンスの例外でダンプ ファイルを取得できない理由
最初のチャンスの例外を生成するコードは次のとおりです。
次のように ProcDump をセットアップして、クラッシュ ダンプをキャプチャします。
私の理解では、このコマンドは最初のチャンスと 2 番目の変更例外の両方をキャプチャする必要があります。ただし、上記のコードでは例外は発生しません。コードから catch ブロックを削除すると、ダンプ ファイルが取得されますが、2 回目の例外になるはずです。最初のチャンスでクラッシュダンプが得られない理由はありますか?
java - javaでスローされたすべての例外をキャプチャしますか?
私はそのようなことが可能であるとは思いませんが、デバッガーを Java アプリケーションにアタッチせずに、キャッチされたかどうかに関係なく、Java アプリケーションで生成されたすべての例外に関する情報を収集することは可能ですか? .NET では、その時点で「First Chance Exceptions」と呼ばれる例外に関するメッセージがアプリケーションによって生成され、その後アプリケーションによって処理される場合と処理されない場合があることを知っています。実行時に生成されたすべての例外に関する情報を表示するために利用できる Java に同様のメカニズムがあるかどうか疑問に思っています。
明確にするために。これは、例外が発生するコンテキストとは関係ありません。この質問は、catch ブロックで何をするか、または未処理の例外に関するものではありません。JVM が、実行時に生成されたすべての例外を確認するメカニズムを提供しているかどうかを知ることが重要です。
c++ - VC++ での初回例外
以下は、VS2010 でコーディングされている私の VC++ コードの一部です。
ただし、 の値として整数の代わりに文字を挿入すると、option
を使用するまで終了せずにメニュー オプションが出力コンソールに出力され続けますctrl+c
。このブレーク戦略を使用すると、次のようなメッセージが表示されます。
First-chance exception at 0x75936da7 in SetupAPIReader.exe: 0x40010005: Control-C.
実行が終了しないのはなぜですか?
c++ - main が返された後の C++ プログラムの Hello World 例外
Windows 7 64 ビット PC に Visual Studio 2013 Express をインストールした後、次の単純な Hello World C++ プログラムをテストしました。
このコードを通常の実行 (ctr+F5 を使用) で実行すると、プログラムは正常に実行されます。ただし、デバッガーで (F5 のみを使用して) 実行すると、次のメッセージ ボックスが表示されます。
続行を押すと、別のメッセージ ボックスが表示され、次のように表示されます。
もう一度 [続行] を押すと、コンソール出力は次のようになります。
そこで、5 行目にブレークポイントを設定して F10 キーを押して、何が起こっているのかを把握しようとしました。main() の閉じ括弧をステップ パスしてから、"crtexe.c" というファイルに入力できます (以下のコード ブロックを参照)。行番号 649 で例外がポップアップするまで、このファイルをステップ実行し続けます。
この動作の説明と、期待どおりに動作させるにはどうすればよいですか?
編集:スタックトレースは次のとおりです(写真を投稿できないため、書き留めました):