Compartilhar via


Método ICLRPolicyManager::SetActionOnFailure

Especifica a ação de política que o CLR (Common Language Runtime) deve executar quando ocorre a falha especificada.

Sintaxe

HRESULT SetActionOnFailure (  
    [in] EClrFailure   failure,  
    [in] EPolicyAction action  
);  

Parâmetros

failure
[in] Um dos valores EClrFailure, indicando o tipo de falha para o qual agir.

action
[in] Um dos valores EPolicyAction, indicando a ação a ser tomada quando ocorre uma falha. Para uma lista de valores compatíveis, confira a seção Comentários.

Valor Retornado

HRESULT Descrição
S_OK SetActionOnFailure retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito.
HOST_E_TIMEOUT Uma chamada atingiu o tempo limite.
HOST_E_NOT_OWNER O chamador não possui o bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele.
E_FAIL Uma falha catastrófica desconhecida ocorreu. Depois que um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE.
E_INVALIDARG Uma ação de política não pode ser definida para a operação especificada ou uma ação de política inválida foi especificada para a operação.

Comentários

Por padrão, o CLR gera uma exceção quando falha ao alocar um recurso como memória. SetActionOnFailure permite que o host substitua esse comportamento especificando a ação de política a ser tomada após a falha. A tabela a seguir mostra as combinações de valores EClrFailure (colunas) e EPolicyAction (linhas) compatíveis.

FAIL_NonCriticalResource FAIL_CriticalResource FAIL_FatalRuntime FAIL_OrphanedLock FAIL_StackOverflow FAIL_AccessViolation FAIL_CodeContract
eNoAction X X N/D
eThrowException X X N/D
eAbortThread X X N/D X
eRudeAbortThread X X N/D X
eUnloadAppDomain X X X N/D X
eRudeUnloadAppDomain X X X X N/D X
eExitProcess X X X X N/D X
eFastExitProcess X X X X N/D
eRudeExitProcess X X X X X N/D
eDisableRuntime X X X X X N/D

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MSCorEE.h

Biblioteca: incluída como um recurso no MSCorEE.dll

Versões do .NET Framework: disponíveis desde 2.0

Confira também