如何捕获Delphi中Units的初始化部分中的异常

时间:2014-06-06 08:30:03

标签: delphi exception-handling delphi-xe5 delphi-xe6

我有第三方单位,巫婆在单位的初始化部分引发异常。如何在我的应用程序中捕获此异常?

2 个答案:

答案 0 :(得分:3)

你无法捕捉到这样的事情。 RTL执行初始化部分,规则是不会引发异常。如果出现异常,则故障是终端。

另一种解决这个问题的方法是,当初始化部分开始执行时,语言异常处理框架尚未到位。它本身作为RTL初始化的一部分安装。

解决方案是修复代码以使其遵守规则。初始化部分没有引起异常。


好吧,我想你可以挂钩执行初始化的RTL代码,也许用异常弹性代码替换那个RTL代码。但重点是什么?如果初始化部分引发异常,那么唯一合理的假设是该单元未初始化,因此不适合使用。请不要试图把头埋在沙子里,忽视真正的问题。修复第三方代码。

答案 1 :(得分:-1)

您可以尝试类TApplicationEvents的OnExceptionEvent,但我不确定这是否有效。

相关问题