绕过“try..except”中除块之外的原因

时间:2012-02-13 15:56:44

标签: delphi debugging try-except

我正在针对没有源代码的第三方组件编写一些代码。 (不要对此评论:)),当在该组件上调用方法时会发生一些事情,即使我把它放在一个try块中,除了块被绕过了。

我做错了吗?

可能是什么原因?

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

逐步调试让我从[A]到[B],不停在[A']上。

为什么?

2 个答案:

答案 0 :(得分:1)

当您单步执行代码时,调试器不会很好地跳转到异常处理程序。改为在HandleException上设置断点,它将在那里停止(如果首先出现异常)。

答案 1 :(得分:0)

未达到HandleException的原因可能是MethodOne内提出的任何异常都可能被MethodOne本身吃掉或处理。

但事实并非如此,因为:

  发生了一些事情

你可以扩展某事吗?