Expression.Throw Méthode

Définition

Crée un UnaryExpression qui représente une levée d’une exception.

Surcharges

Nom Description
Throw(Expression)

Crée un UnaryExpression qui représente une levée d’une exception.

Throw(Expression, Type)

Crée un UnaryExpression qui représente une levée d’une exception avec un type donné.

Throw(Expression)

Crée un UnaryExpression qui représente une levée d’une exception.

public:
 static System::Linq::Expressions::UnaryExpression ^ Throw(System::Linq::Expressions::Expression ^ value);
public static System.Linq.Expressions.UnaryExpression Throw(System.Linq.Expressions.Expression value);
static member Throw : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function Throw (value As Expression) As UnaryExpression

Paramètres

value
Expression

Élément Expression.

Retours

Qui UnaryExpression représente l’exception.

Exemples

L’exemple suivant montre comment créer un TryExpression objet qui utilise la Throw méthode.

// Add the following directive to the file:
// using System.Linq.Expressions;

// A TryExpression object that has a Catch statement.
// The return types of the Try block and all Catch blocks must be the same.
TryExpression tryCatchExpr =
    Expression.TryCatch(
        Expression.Block(
            Expression.Throw(Expression.Constant(new DivideByZeroException())),
            Expression.Constant("Try block")
        ),
        Expression.Catch(
            typeof(DivideByZeroException),
            Expression.Constant("Catch block")
        )
    );

// The following statement first creates an expression tree,
// then compiles it, and then runs it.
// If the exception is caught,
// the result of the TryExpression is the last statement
// of the corresponding Catch statement.
Console.WriteLine(Expression.Lambda<Func<string>>(tryCatchExpr).Compile()());

// This code example produces the following output:
//
// Catch block
' Add the following directive to the file:
' Imports System.Linq.Expressions 

' A TryExpression object that has a Catch statement.
' The return types of the Try block and all Catch blocks must be the same.
Dim tryCatchExpr As TryExpression =
       Expression.TryCatch(
           Expression.Block(
               Expression.Throw(Expression.Constant(New DivideByZeroException())),
               Expression.Constant("Try block")
           ),
           Expression.Catch(
               GetType(DivideByZeroException),
               Expression.Constant("Catch block")
           )
       )

' The following statement first creates an expression tree,
' then compiles it, and then runs it.
' If the exception is caught, 
' the result of the TryExpression is the last statement 
' of the corresponding Catch statement.
Console.WriteLine(Expression.Lambda(Of Func(Of String))(tryCatchExpr).Compile()())

' This code example produces the following output:
'
' Catch block

S’applique à

Throw(Expression, Type)

Crée un UnaryExpression qui représente une levée d’une exception avec un type donné.

public:
 static System::Linq::Expressions::UnaryExpression ^ Throw(System::Linq::Expressions::Expression ^ value, Type ^ type);
public static System.Linq.Expressions.UnaryExpression Throw(System.Linq.Expressions.Expression value, Type type);
static member Throw : System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.UnaryExpression
Public Shared Function Throw (value As Expression, type As Type) As UnaryExpression

Paramètres

value
Expression

Élément Expression.

type
Type

Nouveau Type de l’expression.

Retours

Qui UnaryExpression représente l’exception.

S’applique à