分享方式:


ICLRPolicyManager::SetActionOnFailure 方法

可指定通用語言執行平台 (CLR) 在指定失敗發生時應採取的原則動作。

語法

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

參數

failure
[in] 其中一個 EClrFailure 值,指出要採取動作解決的失敗型別。

action
[in] 其中一個 EPolicyAction 值,指出失敗發生時應採取的動作。 如需支援值清單,請參閱<備註>一節。

傳回值

HRESULT 描述
S_OK SetActionOnFailure 已成功傳回。
HOST_E_CLRNOTAVAILABLE CLR 尚未載入處理序,或 CLR 處於無法執行受控程式碼或成功處理呼叫的狀態。
HOST_E_TIMEOUT 呼叫逾時。
HOST_E_NOT_OWNER 呼叫端未擁有鎖定。
HOST_E_ABANDONED 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。
E_FAIL 發生未知的嚴重失敗。 方法傳回 E_FAIL 之後,就無法在處理序中使用 CLR。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。
E_INVALIDARG 無法為指定作業設定原則動作,或是您為作業指定的原則動作不正確。

備註

根據預設,CLR 會在無法配置記憶體等資源時擲回例外狀況。 SetActionOnFailure 可以讓主機藉由指定在失敗時採取的原則動作來覆寫此行為。 下表顯示支援的 EClrFailure (資料行) 和 EPolicyAction (資料列) 值的組合。

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

規格需求

平台:請參閱系統需求

標題: MSCorEE.h

程式庫:包含作為 MSCorEE.dll 中的資源

.NET Framework版本:自 2.0 起提供

另請參閱