War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Expression.TryCatchFinally-Methode

.NET Framework 4.6 and 4.5

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

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

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

Parameter

body
Typ: System.Linq.Expressions.Expression
Der Text des Try-Blocks.
finally
Typ: System.Linq.Expressions.Expression
Der Text des Finally-Blocks.
handlers
Typ: System.Linq.Expressions.CatchBlock[]
Das Array von 0 oder mehr CatchBlock-Ausdrücken, die die dem Try-Block zuzuordnenden Catch-Anweisungen darstellen.

Im folgenden Beispiel wird veranschaulicht, wie ein TryExpression-Objekt, das eine catch-Anweisung und eine finally-Anweisung enthält, erstellt wird.


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

// A TryExpression object that has a catch statement and a finally statement.
// The return types of the try block and all catch blocks must be the same.
TryExpression tryCatchExpr =
    Expression.TryCatchFinally(
        Expression.Block(
            Expression.Throw(Expression.Constant(new DivideByZeroException())),
            Expression.Constant("Try block")
        ),
        Expression.Call(typeof(Console).GetMethod("WriteLine", new Type[] { typeof(string) }), Expression.Constant("Finally 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:
//
// Finally block
// Catch block


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft