Share via


Contract.EnsuresOnThrow<TException> Method (Boolean, String)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Specifies a postcondition contract and a message to display if the condition is false for the enclosing method or property, based on the provided exception and condition.

Namespace:  System.Diagnostics.Contracts
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
<ConditionalAttribute("CONTRACTS_FULL")> _
Public Shared Sub EnsuresOnThrow(Of TException As Exception) ( _
    condition As Boolean, _
    userMessage As String _
)
[ConditionalAttribute("CONTRACTS_FULL")]
public static void EnsuresOnThrow<TException>(
    bool condition,
    string userMessage
)
where TException : Exception

Type Parameters

  • TException
    The type of exception that invokes the postcondition check.

Parameters

  • userMessage
    Type: System.String
    The message to display if the expression is false.

Remarks

The condition parameter specifies a postcondition that is expected to be true when the enclosing method or property terminates abnormally and an exception of type TException is thrown. The message parameter specifies a message to display if the condition is false.

  • This method call must be at the beginning of a method or property, before any other code.

  • This contract is exposed to clients; therefore, it must only reference members that are at least as visible as the enclosing method.

  • You must use the binary rewriter for run-time enforcement of this postcondition.

  • If userMessage is not a constant string literal, the contract may not be understood by tools.

Version Information

Silverlight

Supported in: 5, 4

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.