指定通用語言執行時是否允許受管理程式碼捕捉存取違規及其他損壞狀態異常。
語法
<legacyCorruptedStateExceptionsPolicy enabled="true|false"/>
屬性和項目
下列章節說明屬性、子元素和父元素。
Attributes
| Attribute | Description |
|---|---|
enabled |
必要屬性。 指定應用程式將偵測損壞的狀態異常失敗,例如存取違規。 |
啟用屬性
| 價值觀 | Description |
|---|---|
false |
應用程式無法偵測損壞的狀態異常失敗,例如存取違規。 這是預設值。 |
true |
應用程式會偵測損壞的狀態異常失敗,例如存取違規。 |
子元素
沒有。
父項目
| 元素 | Description |
|---|---|
configuration |
通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。 |
runtime |
包含關於組裝裝訂與垃圾回收的資訊。 |
備註
在 .NET Framework 3.5 及更早版本中,通用語言執行環境允許受管理程式碼捕捉因程序損壞狀態所引發的異常。 存取違規即為此類例外的例子。
從 .NET Framework 4 開始,受管理程式碼不再以區塊形式捕捉這類例外 catch 。 不過,你可以用兩種方式覆蓋此變更並維持損壞狀態例外的處理:
- 將元素屬性
enabled設<legacyCorruptedStateExceptionsPolicy>為true。 此設定適用於整個流程,並影響所有方法。
-或-
- 將該屬性套用 System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute 到包含例外
catch區塊的方法。
此設定元素僅在 .NET Framework 4 及以後版本中提供。
Example
以下範例說明如何指定應用程式應回復到 .NET Framework 4 之前的行為,並捕捉所有損壞的狀態異常失敗。
<configuration>
<runtime>
<legacyCorruptedStateExceptionsPolicy enabled="true" />
</runtime>
</configuration>