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