<legacyCorruptedStateExceptionsPolicy> 要素
共通言語ランタイムで、アクセス違反やその他の破損状態の例外をマネージ コードがキャッチできるようにするかどうかを指定します。
<legacyCorruptedStateExceptionsPolicy enabled="true|false"/>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 |
説明 |
---|---|
enabled |
必須の属性です。 アクセス違反などの破損状態の例外エラーをアプリケーションがキャッチするように指定します。 |
enabled 属性
値 |
説明 |
---|---|
false |
アプリケーションは、アクセス違反などの破損状態の例外エラーをキャッチしません。 これは、既定の設定です。 |
true |
アプリケーションは、アクセス違反などの破損状態の例外エラーをキャッチします。 |
子要素
なし。
親要素
要素 |
説明 |
---|---|
configuration |
共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。 |
runtime |
アセンブリのバインディングとガベージ コレクションに関する情報が含まれています。 |
解説
.NET Framework Version 3.5 以前では、共通言語ランタイムは、プロセス状態の破損によって発生した例外をマネージ コードがキャッチできるようにしていました。 このような例外の例として、アクセス違反があります。
.NET Framework Version 4 以降では、このような例外がマネージ コードの catch ブロックでキャッチされなくなります。 ただし、次の 2 つの方法により、この変更をオーバーライドして破損状態の例外の処理を維持できます。
- <legacyCorruptedStateExceptionsPolicy> 要素の enabled 属性を true に設定します。 この構成設定はプロセス全体に適用され、すべてのメソッドに反映されます。
または
- 例外の catch ブロックを含むメソッドに System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute 属性を適用します。
この構成要素は、.NET Framework 4 以降でのみ使用できます。
使用例
アプリケーションの動作を .NET Framework 4 より前の動作に戻し、破損状態の例外エラーをすべてキャッチするように指定する方法を次の例に示します。
<configuration>
<runtime>
<legacyCorruptedStateExceptionsPolicy enabled="true" />
</runtime>
</configuration>
参照
参照
HandleProcessCorruptedStateExceptionsAttribute