Delphi 7 未捕获异常

标签 delphi exception

我一直在处理一些非常复杂的遗留代码,这些代码在收集大块数据时会崩溃。我一直无法找到崩溃的确切原因,并且正在尝试不同的方法来解决它或至少很好地恢复。我做的最后一件事是将崩溃的代码封装在

try
  ...
except
  cleanup();
end;

只是为了让它表现得好。但清理工作永远无法完成。什么情况下异常不会被捕获?这可能是由于内存溢出或其他原因造成的,因为应用程序正在收集大量数据。

哦,在添加 try 之前我遇到的异常是“访问冲突”(还有什么?)并且 CPU 窗口指向非常低的地址。任何想法或指示将不胜感激!

最佳答案

“非常低的地址”可能意味着有人试图调用一个并不真正存在的对象上的虚拟方法(即“nil”)。例如:

TStringList(nil).Clear;

不过,第一部分非常神秘。我不知道这是怎么发生的。

我认为你应该尝试用 madExcept 捕获该异常。它从来没有让我失望过。 (免责声明:我没有使用 D7。)

关于Delphi 7 未捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/186718/

相关文章:

delphi - 从 Delphi 组件捕获 WM_COPYDATA

java - IllegalStateException 适用于不可变对象(immutable对象)吗?

Delphi Indy : cannot load SSL libraries first time. 重试有效

algorithm - 在 8GB 以上的文本文件中查找 "key"

c# - 异常处理循环拼图

c++ - 浮点 NaN 取决于 C++ 中不相关的异常处理

php - 在每个 Controller 中处理相同的 try catch 结构

delphi - TListView和选择突出显示

delphi - Delphi中识别计算机的子网掩码

delphi - Crystal Reports 2008/2011 与 Delphi XE 的集成