我可以只忽略一次异常吗?

时间:2016-06-05 13:32:07

标签: delphi debugging exception toolsapi

发生异常时,调试器会给我以下消息:

enter image description here

我可以通过选中ignore this exception type来选择忽略该例外 但是这样做会忽略所有未来项目中的这个异常,这比无用的更糟糕,因为我不想忽略每个项目中的异常;我只是想在这次运行中忽略它们。

使用ToolsAPI,有办法:

A - 忽略此次运行的异常,或者 B - 忽略仅针对此项目的例外,或者 C - 当我重新启动Delphi时恢复忽略异常设置?

如果我可以做A,B或C我的问题就解决了。

我知道ignore exception数据存储在:

  

HKEY_CURRENT_USER\Software\Embarcadero\BDS\17.0\Debugging\Embarcadero Debuggers\Language Exception Classes

我首选的选项是使用ToolsAPI修复消息框并添加ignore this exception for this session only复选框。
但是,如果这不可用,我可以搞乱注册表 如果我回到注册表,我想强制Delphi重新加载设置,所以我不必重新启动IDE。

为了记录我正在使用西雅图,但我更喜欢这个从2007年开始工作。

我检查了ToolsAPI,但IOTAFileFilterWithCheckEncode看起来不相关,我认为IOTABreakpoint80仅适用于用户设置的断点。

我还没有源代码,因为我不确定我想要什么是可能使用ToolsAPI,如果不是,我只会回退到使用记录的外部应用程序上面的注册表项,启动Delphi并恢复注册表项。我希望有一种更清洁的方式。

1 个答案:

答案 0 :(得分:1)

不幸的是,忽略设置的异常是全局IDE设置而不是每个项目设置,因此每当您更改它们时,更改都会影响您的所有项目。

我希望Embarcadero将其添加到项目选项中,以便我们可以为不同的项目设置不同的异常设置。

检查Continue并单击BreakException types to ignore按钮后,任何方式都会更改全局IDE设置并将提及的异常添加到
Options->Debugger Options->Embarcadero Debugger->language Exceptions列表中> npm install primeng

IE10, 11 CDATA with hyphens parsed wrong

在我的情况下,我添加了EDivByZero异常作为示例。

稍后您可以选中或取消选中某个异常前面的复选框,以控制Delphi IDE是否忽略它。

现在可以使用ToolsAPI更改这些设置吗?我不知道,因为我没有使用ToolsAPI的任何经验。

我希望我至少可以指出你正确的方向。