1

ソースコードのないサードパーティのコンポーネントに対してコードを書いています。(これについてはコメントしないでください:))、そのコンポーネントでメソッドを呼び出すと何かが発生し、それをtryexceptブロックに入れても、exceptブロックはバイパスされます。

私は何か間違ったことをしていますか?

理由は何ですか?

begin
  try
    3rdPartyComponentWithNoSourceCode.MethodOne; [A]
    SomeOtherCode;
  except
    HandleException; [A']
  end;
end; [B]

ステップバイステップでデバッグすると、[A']で停止することなく、[A]から[B]に移動します。

なんで?

4

2 に答える 2

1

コードをステップ実行しているとき、デバッガーは例外ハンドラーにうまくジャンプしません。代わりにHandleExceptionにブレークポイントを設定すると、そこで停止します(最初に例外がある場合)。

于 2012-03-15T12:46:03.163 に答える
0

到達しない理由は、HandleException内部で発生した例外がそれ自体MethodOneで食べられたり処理されたりする可能性があるためである可能性がありMethodOneます。

しかし、それはおそらくそうではありません。理由は次のとおりです。

何かが起こる

何かを拡張していただけませんか?

于 2012-03-15T12:54:53.273 に答える