共用方式為


ICLRPolicyManager::SetActionOnFailure 方法

更新:2010 年 7 月

發生指定的失敗時,指定 Common Language Runtime (CLR) 應該採取的原則動作。

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

參數

  • failure
    [in] 其中一個 EClrFailure 值,表示要對其採取動作的失敗類型。

  • action
    [in] 其中一個 EPolicyAction 值,表示發生失敗時要採取的動作。 如需支援的值的清單,請參閱〈備註〉一節。

傳回值

HRESULT

描述

S_OK

SetActionOnFailure 已成功傳回。

HOST_E_CLRNOTAVAILABLE

CLR 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。

HOST_E_TIMEOUT

呼叫已逾時。

HOST_E_NOT_OWNER

呼叫端不具備鎖定功能。

HOST_E_ABANDONED

已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。

E_FAIL

發生未知的重大錯誤。 在方法傳回 E_FAIL 之後,處理序中就無法再使用 CLR。 對裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。

E_INVALIDARG

無法為指定的作業設定原則動作,或是為此作業指定了無效的原則動作。

備註

根據預設,CLR 在無法配置類似記憶體的資源時,會擲回例外狀況。 SetActionOnFailure 可讓主應用程式藉由指定在失敗時所要採取的原則動作,覆寫這個行為。 下表顯示所支援之 EClrFailureEPolicyAction 值的組合。 (EClrFailure 值中省略的 FAIL-prefix)。

NonCriticalResource

CriticalResource

FatalRuntime

OrphanedLock

StackOverflow

AccessViolation

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

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**MSCorEE.h

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

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

EClrFailure 列舉

EPolicyAction 列舉

ICLRControl 介面

ICLRPolicyManager 介面

變更記錄

日期

記錄

原因

2010 年 7 月

已更正 EClrFailureEPolicyAction 值的允許組合,並將其列入表格中。

內容 Bug 修正。