Expression.Catch Method

Definition

Creates a CatchBlock representing a catch statement.

Overloads

Catch(ParameterExpression, Expression)

Creates a CatchBlock representing a catch statement with a reference to the caught Exception object for use in the handler body.

Catch(Type, Expression)

Creates a CatchBlock representing a catch statement.

Catch(ParameterExpression, Expression, Expression)

Creates a CatchBlock representing a catch statement with an Exception filter and a reference to the caught Exception object.

Catch(Type, Expression, Expression)

Creates a CatchBlock representing a catch statement with an Exception filter but no reference to the caught Exception object.

Catch(ParameterExpression, Expression)

Source:
CatchBlock.cs
Source:
CatchBlock.cs
Source:
CatchBlock.cs

Creates a CatchBlock representing a catch statement with a reference to the caught Exception object for use in the handler body.

C#
public static System.Linq.Expressions.CatchBlock Catch(System.Linq.Expressions.ParameterExpression variable, System.Linq.Expressions.Expression body);

Parameters

variable
ParameterExpression

A ParameterExpression representing a reference to the Exception object caught by this handler.

body
Expression

The body of the catch statement.

Returns

The created CatchBlock.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Catch(Type, Expression)

Source:
CatchBlock.cs
Source:
CatchBlock.cs
Source:
CatchBlock.cs

Creates a CatchBlock representing a catch statement.

C#
public static System.Linq.Expressions.CatchBlock Catch(Type type, System.Linq.Expressions.Expression body);

Parameters

type
Type

The Type of Exception this CatchBlock will handle.

body
Expression

The body of the catch statement.

Returns

The created CatchBlock.

Remarks

The Type of Exception to be caught can be specified but no reference to the Exception object will be available for use in the CatchBlock.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Catch(ParameterExpression, Expression, Expression)

Source:
CatchBlock.cs
Source:
CatchBlock.cs
Source:
CatchBlock.cs

Creates a CatchBlock representing a catch statement with an Exception filter and a reference to the caught Exception object.

C#
public static System.Linq.Expressions.CatchBlock Catch(System.Linq.Expressions.ParameterExpression variable, System.Linq.Expressions.Expression body, System.Linq.Expressions.Expression filter);
C#
public static System.Linq.Expressions.CatchBlock Catch(System.Linq.Expressions.ParameterExpression variable, System.Linq.Expressions.Expression body, System.Linq.Expressions.Expression? filter);

Parameters

variable
ParameterExpression

A ParameterExpression representing a reference to the Exception object caught by this handler.

body
Expression

The body of the catch statement.

filter
Expression

The body of the Exception filter.

Returns

The created CatchBlock.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Catch(Type, Expression, Expression)

Source:
CatchBlock.cs
Source:
CatchBlock.cs
Source:
CatchBlock.cs

Creates a CatchBlock representing a catch statement with an Exception filter but no reference to the caught Exception object.

C#
public static System.Linq.Expressions.CatchBlock Catch(Type type, System.Linq.Expressions.Expression body, System.Linq.Expressions.Expression filter);
C#
public static System.Linq.Expressions.CatchBlock Catch(Type type, System.Linq.Expressions.Expression body, System.Linq.Expressions.Expression? filter);

Parameters

type
Type

The Type of Exception this CatchBlock will handle.

body
Expression

The body of the catch statement.

filter
Expression

The body of the Exception filter.

Returns

The created CatchBlock.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0