.NET4 以旧方式捕获异常

1.   在托管程序的.config文件里,启用legacyCorruptedStateExceptionsPolicy这个属性,即简化的.config文件类似下面的文件:

App.config:

<?xml version="1.0"?> 
<configuration> 
 <startup> 
   <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
 </startup> 
    <runtime> 
      <legacyCorruptedStateExceptionsPolicy enabled="true" /> 
    </runtime> 
</configuration> 

这个设置告诉CLR 4.0,整个.NET程序都要使用老的异常捕捉机制。

2.  在需要捕捉破坏性异常的函数外面加一个HandleProcessCorruptedStateExceptions属性,这个属性只控制一个函数,对托管程序的其他函数没有影响,例如:

[HandleProcessCorruptedStateExceptions]     
static void Main(string[] args) {     
  try     {          
 TestMethod();     
  }       
catch (Exception e)    
   {           
Console.WriteLine("Catching exception: {0}", e);   
    } } 

你可能感兴趣的:(.net)