<legacyCorruptedStateExceptionsPolicy> 元素
指定公共语言运行时是否允许托管的代码捕获访问冲突和其他损坏状态异常。
configuration
runtime
<legacyCorruptedStateExceptionsPolicy>
语法
<legacyCorruptedStateExceptionsPolicy enabled="true|false"/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 描述 |
---|---|
enabled |
必需的特性。 指定应用程序将捕获损坏状态异常故障,例如访问冲突。 |
enabled 特性
值 | 说明 |
---|---|
false |
应用程序不会捕获损坏状态异常故障,例如访问冲突。 这是默认值。 |
true |
应用程序会捕获损坏状态异常故障,例如访问冲突。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
runtime |
包含有关程序集绑定和垃圾回收的信息。 |
备注
在 .NET Framework 3.5 及更早版本中,公共语言运行时允许托管代码捕获由损坏的进程状态引发的异常。 访问冲突就是这种类型的异常的一个示例。
从 .NET Framework 4 开始,托管代码不再在 catch
块中捕获这些类型的异常。 不过,你可以通过两种方式重写此更改并保持对损坏状态异常的处理:
- 将
<legacyCorruptedStateExceptionsPolicy>
元素的enabled
属性设置为true
。 此配置设置应用于整个流程,并影响所有方法。
-或-
- 将 System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute 属性应用于包含异常
catch
块的方法。
此配置元素仅在 .NET Framework 4 及更高版本中可用。
示例
下面的示例演示如何指定应用程序应还原到 .NET Framework 4 之前的行为,并捕获所有损坏状态异常失败。
<configuration>
<runtime>
<legacyCorruptedStateExceptionsPolicy enabled="true" />
</runtime>
</configuration>