英語で読む

次の方法で共有


Contract.ContractFailed イベント

定義

コントラクトが失敗すると発生します。

C#
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> ContractFailed;
C#
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs>? ContractFailed;
C#
[add: System.Security.SecurityCritical]
[remove: System.Security.SecurityCritical]
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> ContractFailed;

イベントの種類

属性

注釈

このイベントのイベント情報は、イベント ハンドラーに System.Diagnostics.Contracts.ContractFailedEventArgs 渡される オブジェクトによって提供されます。 このイベントは、対話型インタープリターや Web ブラウザー ホストなどのマネージド アプリケーション環境に、コントラクトが失敗したことを通知します。 その前に、アプリケーションが適切に処理できるイベントが発生します。 たとえば、コードがテスト フレームワークで実行されている場合は、テストエラーをログに記録し、テストを終了できます。

.NET Framework クラス ライブラリのメソッドの既定のRaiseContractFailedEvent実装では、 イベントに登録されている各ハンドラーをContractFailed呼び出します。 ハンドラーによってスローされる例外は無視されますが、各ハンドラーは、イベント引数の メソッドを呼び出 SetHandled すことによってエラーが処理されるかどうかを示すことができます。 いずれかのハンドラーでエラーが処理されたものとして設定されている場合、メソッドは を null 返し、それ以上のアクションは実行されません。 または、ハンドラーは メソッドを SetUnwind 呼び出して、コードにアンワインドを指示することもできます。 その場合、すべてのハンドラーが実行された後に例外がスローされます。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0