Contract.ContractFailed イベント


コントラクトが失敗すると発生します。Occurs when a contract fails.

 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 イベントハンドラーに渡されるオブジェクトによって提供されます。The event information for this event is supplied by the System.Diagnostics.Contracts.ContractFailedEventArgs object that is passed to the event handler. このイベントは、コントラクトが失敗したことを、対話型インタープリターや Web ブラウザーホストなどのマネージアプリケーション環境に通知します。This event notifies a managed application environment such as an interactive interpreter or a Web browser host that a contract has failed. この操作を行う前に、アプリケーションが適合するときに処理できるイベントを発生させます。Before doing so, it will raise an event that an application can handle as it sees fit. たとえば、コードがテストフレームワークで実行されている場合は、テストエラーをログに記録してから、テストを終了できます。For example, if code is being run in a testing framework, you can log a test failure and then end the test.

.NET Framework クラスライブラリのメソッドの既定の実装で RaiseContractFailedEvent は、イベントに登録されている各ハンドラーが呼び出され ContractFailed ます。The default implementation of the RaiseContractFailedEvent method in the .NET Framework class library is to call each handler that is registered with the ContractFailed event. ハンドラーによってスローされる例外は無視されますが、各ハンドラーは、イベント引数に対してメソッドを呼び出すことによって、エラーが処理されるかどうかを示すことができ SetHandled ます。Exceptions thrown by handlers are ignored, but each handler can indicate whether the failure is handled by calling the SetHandled method for the event arguments. いずれかのハンドラーがエラーを処理済みとして設定した場合、メソッドはを返し、 null それ以上のアクションは実行されません。If any handler sets the failure as handled, the method returns null and no further action is taken. または、ハンドラーがメソッドを呼び出し SetUnwind て、コードにアンワインドを指示することもできます。Alternatively, handlers can call the SetUnwind method to instruct the code to unwind. その場合、すべてのハンドラーの実行後に例外がスローされます。In that case, an exception is thrown after all handlers have executed.