다음을 통해 공유


Expression.Throw 메서드

정의

예외의 throw를 나타내는 UnaryExpression을 만듭니다.

오버로드

Throw(Expression)

예외의 throw를 나타내는 UnaryExpression을 만듭니다.

Throw(Expression, Type)

지정된 형식을 사용하여 예외를 throw하는 UnaryExpression을 만듭니다.

Throw(Expression)

Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs

예외의 throw를 나타내는 UnaryExpression을 만듭니다.

public:
 static System::Linq::Expressions::UnaryExpression ^ Throw(System::Linq::Expressions::Expression ^ value);
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

매개 변수

value
Expression

Expression입니다.

반환

예외를 나타내는 UnaryExpression입니다.

예제

다음 예제에서는 메서드를 사용 하는 개체를 TryExpression 만드는 방법을 보여 줍니다 Throw .

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

적용 대상

Throw(Expression, Type)

Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs

지정된 형식을 사용하여 예외를 throw하는 UnaryExpression을 만듭니다.

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);
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

매개 변수

value
Expression

Expression입니다.

type
Type

식의 새 Type입니다.

반환

예외를 나타내는 UnaryExpression입니다.

적용 대상