我正在开发一个使用外部 DLL 来编写驱动程序的应用程序(DLL 是由驱动程序的生产者开发的,我没有源代码)。 我们在其中一个导致我的应用程序崩溃的 dll 上发现了未处理的异常。 我不能使用简单的 try catch,dll 正在以这种方式工作:
开始读取返回输出代码的操作(如果开始读取过程,则返回代码=成功)
ProgrammingAPI.ApplicationConstants.ReturnCode ret = ReadFromDevice();
检查是否开始读取并等待操作完成
if(ret == ApplicationConstants.ReturnCode.Success)
{
while (ProgrammingAPI.ProgrammingAPI.IsWorking())
{
Thread.Sleep(500);
}
}
我们发现在某些情况下,当我们等待 ProgrammingAPI.ProgrammingAPI.IsWorking() 变为 false 时,DLL 会抛出未处理的异常并导致应用程序崩溃。
有人能帮我避免那种崩溃吗?
谢谢