【问题标题】:Is there a way to temporarily turn off exception dialogs in the Delphi 5 IDE without implementing an own exception handler? [duplicate]有没有办法在不实现自己的异常处理程序的情况下暂时关闭 Delphi 5 IDE 中的异常对话框? [复制]
【发布时间】:2013-04-08 23:48:37
【问题描述】:

我有一个非常古老的 Delphi 5 项目需要修复一个错误。

它可以正常加载到 Delphi 5 IDE 中,但在执行时,我得到了很多 ARE 由程序正确处理的 Indy 异常,例如“连接正常关闭”。这些不是我要修复的错误的一部分,但由于我一次又一次地显示异常对话框,因此调试应用程序是一种令人难以置信的痛苦。

有没有办法在 Delphi 5 IDE 中临时关闭异常对话框而不实现自己的异常处理程序?当只有一些特定的异常对话框(例如“正常关闭连接”)不显示时,这将特别有用。

【问题讨论】:

  • 您是在谈论 Delphi DEBUGGER 中的异常还是 IDE 启动期间的异常?听起来您只需要打开调试器选项并忽略您不想中断的异常。
  • 感谢@WarrenP,我错误地认为语言异常选项卡仅从 delphi 6 开始实现;现在,如果您将评论更改为答案... :)

标签: delphi delphi-5


【解决方案1】:

在调试器设置中有一个选项“中断语言异常”。 将其关闭(取消选中)。您可以随时执行此操作,即使是在调试会话中。

如果打开该选项,调试器将在引发异常时立即中断,即使代码随后处理它们也是如此。这在调试中有时很重要。但是,如果您对查看所有这些异常(例如您的情况)不感兴趣,也可能会很烦人。

您也可以选中“中断语言异常”,但将您不想中断的异常类型添加到该对话框中排除的异常类型列表中。我很少使用该选项,但有时它也会有所帮助。

【讨论】:

  • 其他选项包括 1) 将有问题的代码封装在断点中,以动态禁用/重新启用调试器处理异常,以及 2) 将 EIdException 添加到调试器的要忽略的异常列表中。
  • 在您提到选项 1 之前,我从不知道选项 1,我单击了断点属性的高级对话框!但我认为我的回答中包含了您的选项 2。
  • 是的,你做到了,但我通过指定要忽略的 WHICH 异常类型对其进行了扩展。
  • 了解 - 我假设 EIdException 是 Indy 异常类型。 Tnx
  • 是的,EIdException 是所有基于 Indy 的异常的基本类型(有许多派生类)。
猜你喜欢
  • 2015-07-11
  • 2010-12-31
  • 2014-07-30
  • 1970-01-01
  • 2018-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多