如何捕获Compact Framework 3.5中的访问冲突异常

时间:2017-11-07 08:41:43

标签: c# .net winforms compact-framework access-violation

在WEC7中运行带有CF3.5的托管应用程序时,有时会在两种情况下抛出访问冲突异常。

1。 USB条形码扫描到文本框字段: 在这种情况下,我们使用带有文本框字段的用户对话框,其中使用USB扫描仪扫描条形码数据,该扫描仪识别类似于键盘的按键事件,并将数据发送到文本字段。这是由.net框架处理的。在某些情况下,它会导致以下异常。

截图: Error during BarcodeScan

2。访问TCPIP套接字: 在这种情况下,使用TCP进行本地RPC连接。

截图: Error in TCP Socket usage

我已经将try..catch用于一般的System.Exceptions,以及空catch,以捕获所有本机异常。但它根本没有抓住这个例外。

try
        {
            unsafe
            {
                GetExceptionFrom.GetExceptionFromInternal();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        catch
        {
            MessageBox.Show("Exception occured");
        }

.Net CF 3.5仅支持 AppDomain.UnhandledException 事件,该事件也在Program.cs中订阅。

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            MessageBox.Show("UnhandledException");
        }

但这也无助于捕获AV异常。 只有.Net 4.0支持HandleProcessCorruptedStateExceptions属性,该属性允许捕获此类损坏的异常。 有人可以帮我吗?

0 个答案:

没有答案