如果您正苦于以下问题:C# Expression.TryCatchFinally方法的具体用法?C# Expression.TryCatchFinally怎么用?C# Expression.TryCatchFinally使用的例子?那么, 这里精选的代码示例或许能为您提供帮助。
以下是System.Linq.Expressions.Expression
类Expression.TryCatchFinally方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为感觉有用的代码点赞,您的评价将有助于系统推荐出更好的C#代码示例。
示例1: DivideByZeroException
// 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()());
输出:
Finally block Catch block