Elemento <legacyCorruptedStateExceptionsPolicy>
Especifica se o Common Language Runtime permite que o código gerenciado detecte violações de acesso e outras exceções de estado corrompido.
<configuração>
<runtime>
<legacyCorruptedStateExceptionsPolicy>
Syntax
<legacyCorruptedStateExceptionsPolicy enabled="true|false"/>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Descrição |
---|---|
enabled |
Atributo obrigatório. Especifica que o aplicativo capturará falhas de exceção de estado corrompidas, como violações de acesso. |
Atributo habilitado
Valor | Descrição |
---|---|
false |
O aplicativo não capturará falhas de exceção de estado corrompidas, como violações de acesso. Esse é o padrão. |
true |
O aplicativo capturará falhas de exceção de estado corrompidas, como violações de acesso. |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
configuration |
O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework. |
runtime |
Contém informações sobre associação do assembly e coleta de lixo. |
Comentários
No .NET Framework versão 3.5 e anterior, o Common Language Runtime permitiu que o código gerenciado capturasse exceções geradas por estados de processo corrompidos. Uma violação de acesso é um exemplo desse tipo de exceção.
A partir do .NET Framework 4, o código gerenciado não captura mais esses tipos de exceções em catch
blocos. No entanto, você pode substituir essa alteração e manter a manipulação de exceções de estado corrompidas de duas maneiras:
- Defina o atributo
enabled
do elemento<legacyCorruptedStateExceptionsPolicy>
comotrue
. Essa configuração é aplicada em todo o processo e afeta todos os métodos.
-ou-
- Aplique o atributo System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute ao método que contém o bloco de exceções
catch
.
Esse elemento de configuração está disponível apenas no .NET Framework 4 e posterior.
Exemplo
O exemplo a seguir mostra como especificar que o aplicativo deve reverter para o comportamento antes do .NET Framework 4 e capturar todas as falhas de exceção de estado corrompidas.
<configuration>
<runtime>
<legacyCorruptedStateExceptionsPolicy enabled="true" />
</runtime>
</configuration>