Delphi DLL Exception关闭我的应用程序

| 我在Delphi 2010应用程序中加载了Delphi 2010 DLL。在大多数情况下,它都能正常工作。但是,有一些异常会从DLL中逃脱(即使是那些由ѭ0块处理的异常),并且我的应用程序崩溃时没有错误消息,也没有任何信息。我正在谈论的异常就像AV,而不像开发人员提出的异常。我试过用
SafeLoadLibrary
加载DLL,但没有运气。我也有应用程序和DLL源代码。我没有发布DLL或应用程序源代码,因为我不能发布它们或它们的版权(我真的希望可以)。 我能做些什么来避免内部DLL异常使我的应用程序崩溃? 编辑 我没有办法不允许DLL引发异常。可能会发生,并非所有代码都完美。 dll不可避免地会引发异常,但它不应使主应用程序崩溃。例如,假设您正在使用没有源代码的第三方dll。当此dll由于某种原因崩溃时,您的主应用程序被杀死不是一件好事。它必须有一种不允许这种情况发生的方法。     
已邀请:
您所要求的是不可能的。 DLL与执行过程共享相同的内存空间。这样一来,任何事情都可能导致应用程序崩溃。 您确实有正确的想法,因为您的DLL需要尽其所能。它必须是应用程序过程中的好公民。 您可以做一些很好的事情。 用try / except块包装每个导出的函数,并优雅地处理异常。 在测试期间,请使用SafeMM来检查您可能没有发现的内存问题。 确保您未传递Delphi托管类型     

要回复问题请先登录注册