我正在开发使用WPF的光学字符识别软件。 我有第三方硬件可以执行此操作。我也有制造商提供的设备驱动程序。 我在项目中引用了设备驱动程序的dll,并调用了其中一种将图像转换为文本的方法。例如,我可以将护照放在设备上,然后从护照中获取一系列信息。 该功能可以按预期工作,但有时应用程序会关闭而不会引发任何异常。这是由于从窗口事件日志中看到的设备驱动程序dll。 dll中有未处理的异常,突然关闭了应用程序。
我希望我的WPF应用程序能够运行,无论dll文件引发什么异常。
我已在app.cs文件中全局处理错误
private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
var dialogContent = "Exception Message:" + "\n" + e.Exception.Message +
"\n" + "Stack Trace:" + "\n" + e.Exception.StackTrace;
MessageBox.Show(dialogContent);
e.Handled = true;
}
我还添加了尝试在我的方法上添加这些属性的方法。
[SecurityCritical]
[HandleProcessCorruptedStateExceptions]
public void ConvertImagetoText()
{
try
{
//do something from the dll file.
}
catch
{
throw;
}
}