C#:System.AccessViolationException异常无法捕获的处理

Posted 秦晓宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#:System.AccessViolationException异常无法捕获的处理相关的知识,希望对你有一定的参考价值。

System.AccessViolationException抛出的异常通过try catch块无法捕获,通过在方法上放置[System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptions] 即可被捕获。

 [System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptions] 
  private void btnLogion_Click(String txtIP)
  
      Console.WriteLine("启动线程 ip = " + txtIP);
      //多连接时 m_handle 用数组表示
      try 
          
          m_handle = CR.ZNYKTY6.SzLPRClient_OpenEx(txtIP, 8557, null, null);//视频连接 端口为8557 开启1080P 视频端口 8556 开启D1视频
      
      catch (System.AccessViolationException e)
      
          Console.WriteLine(e.Message);
          return;
      

可以看到,异常就被捕获到了。

以上是关于C#:System.AccessViolationException异常无法捕获的处理的主要内容,如果未能解决你的问题,请参考以下文章

C#进阶C# 泛型

C#进阶C# 匿名方法

C#进阶C# 多线程

C# 教程

[C#教程01]C# 简介

用 C# 编写 C# 编译器,先有鸡还是先有蛋?