【发布时间】:2011-08-26 05:24:39
【问题描述】:
我正在编写一个使用 SysUtils.LoadPackage 动态加载包的程序。其中一些包是第三方的,表现不佳,在调用 InializePackage 时会失败。
我希望我的程序在这些故障后继续运行。我见过两种不同的行为:
- 它从包中的某处引发异常并终止。
- 它抛出异常并将控制权返回给调用者,但下次调用 LoadPackage 时,程序停止响应。
关于如何从这些失败中优雅地恢复的任何想法?
【问题讨论】:
-
并非所有异常都是可恢复的。如果第三方
LoadPackage破坏了应用程序内存,那你就完蛋了。所以这取决于。 -
嗯,也许我可以在单独的进程中托管每个包。然后,如果进程终止,主应用程序会继续运行。