そのraise
コマンドがスタックオーバーフローを引き起こす例外があります。何をすべきかを知るために、この記事を読みました: http://www.debuggingexperts.com/modeling-exception-handling
私が理解したのは、例外0xc0000025
は、キャッチすることを禁じられている例外をキャッチしようとすることを意味します(EXCEPTION_NONCONTINUABLE_EXCEPTION
)。私は正しいですか?
もしそうなら、例外が継続不可能と定義された原因を知りたいです。例外は Pascal で定義され、オブジェクトから派生しException
ます。
さらに、この例外が処理される場所を見つけることができず、自分でtry-catch
ブロックを追加しました。例外が正常にキャッチされました。なんで?
編集
助けが必要な特定の状況を説明したいと思い
ます。Pascal コードを呼び出す C++ コードがあり、例外定義があり、その中でraise
コマンドが発生します。C++ コードにブロック
を配置する前に、Pascal ではスタック オーバーフローまでの 1000 回の例外が発生します。C++ コードにブロック
を追加した後、Pascal コードは C++ コードのブロックに戻りました。try-catch
raise
EXCEPTION_NONCONTINUABLE_EXCEPTION
try-catch
raise
catch
今、私は2つの質問があります:
NONCONTINUABLE
最初の例外でプロセスが停止しなかったのはなぜですか?catch
C++ コードのブロックがこの例外を引き起こさなかったのはなぜですか?