Contract.ContractFailed 事件

定義

發生於合約失敗時。

public:
 static event EventHandler<System::Diagnostics::Contracts::ContractFailedEventArgs ^> ^ ContractFailed;
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> ContractFailed;
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs>? ContractFailed;
[add: System.Security.SecurityCritical]
[remove: System.Security.SecurityCritical]
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> ContractFailed;
member this.ContractFailed : EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> 
[<add: System.Security.SecurityCritical>]
[<remove: System.Security.SecurityCritical>]
member this.ContractFailed : EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> 
Public Shared Custom Event ContractFailed As EventHandler(Of ContractFailedEventArgs) 

事件類型

屬性

備註

這個事件的事件資訊是由 System.Diagnostics.Contracts.ContractFailedEventArgs 傳遞至事件處理程序的物件所提供。 此事件會通知受控應用程式環境,例如互動式解釋器或合約失敗的網頁瀏覽器主機。 執行此動作之前,它會引發應用程式可處理的事件,因為它看起來很適合。 例如,如果在測試架構中執行程序代碼,您可以記錄測試失敗,然後結束測試。

.NET Framework 類別庫中方法的預設實RaiseContractFailedEvent作是呼叫向 ContractFailed 事件註冊的每個處理程式。 處理程序擲回的例外狀況會被忽略,但每個處理程式都可以藉由呼叫 SetHandled 事件自變數的方法來指出是否處理失敗。 如果有任何處理程式將失敗設定為已處理,則方法會 null 傳回,而且不會採取任何進一步的動作。 或者,處理程式可以呼叫 SetUnwind 方法來指示程序代碼回溯。 在此情況下,在執行所有處理程序之後,就會擲回例外狀況。

適用於