Expression.Throw Methode

Definitie

Hiermee maakt u een UnaryExpression die een uitzondering genereert.

Overloads

Name Description
Throw(Expression)

Hiermee maakt u een UnaryExpression die een uitzondering genereert.

Throw(Expression, Type)

Hiermee maakt u een UnaryExpression die een uitzondering genereert met een bepaald type.

Throw(Expression)

Hiermee maakt u een UnaryExpression die een uitzondering genereert.

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

Parameters

value
Expression

Een Expression.

Retouren

Een UnaryExpression die de uitzondering vertegenwoordigt.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een TryExpression object maakt dat gebruikmaakt van de Throw methode.

// 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

Van toepassing op

Throw(Expression, Type)

Hiermee maakt u een UnaryExpression die een uitzondering genereert met een bepaald type.

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

Parameters

value
Expression

Een Expression.

type
Type

De nieuwe Type expressie.

Retouren

Een UnaryExpression die de uitzondering vertegenwoordigt.

Van toepassing op