Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.TryCatch-Methode: (Expression, CatchBlock[])

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Erstellt eine TryExpression, die einen Try-Block mit einer beliebigen Anzahl von Catch-Anweisungen ohne Fault- und Finally-Block darstellt.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static TryExpression TryCatch(
	Expression body,
	params CatchBlock[] handlers
)

Parameter

body
Type: System.Linq.Expressions.Expression

Der Text des Try-Blocks.

handlers
Type: System.Linq.Expressions.CatchBlock[]

Das Array von 0 oder mehr CatchBlock-Ausdrücken, die die dem Try-Block zuzuordnenden Catch-Anweisungen darstellen.

Rückgabewert

Type: System.Linq.Expressions.TryExpression

Der erstellte TryExpression.

Im folgenden Beispiel wird veranschaulicht, wie ein TryExpression -Objekt, das eine Catch-Anweisung enthält.

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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 4.0
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: