CorDebugEHClause Structure

[Supported in the .NET Framework 4.5.2 and later versions]

Represents an exception handling (EH) clause for a given piece of intermediate language (IL) code.

Syntax

typedef struct _CorDebugEHClause {
   ULONG32 Flags;
   ULONG32 TryOffset;
   ULONG32 TryLength;
   ULONG32 HandlerOffset;
   ULONG32 HandlerLength;
   ULONG32 ClassToken;
   ULONG32 FilterOffset;
} CorDebugEHClause;

Members

Member Description
Flags A bit field that describes the exception information in the EH clause. For more information, see the Remarks section.
TryOffset The offset, in bytes, of the try block from the start of the method body.
TryLength The length, in bytes, of the try block.
HandlerOffset The location of the handler for this try block.
HandlerLength The size of the handler code in bytes.
ClassToken The metadata token for a type-based exception handler.
FilterOffset The offset, in bytes, from the start of the method body for a filter-based exception handler.

Remarks

An array of CoreDebugEHClause values is returned by the GetEHClauses method.

The EH clause information is defined by the CLI specification. For more information, see Standard ECMA-355: Common Language Infrastructure (CLI), 6th Edition.

The flags field can contain the following flags. Note that they are not defined in CorDebug.idl or CorDebug.h.

Flag Value Description
COR_ILEXCEPTION_CLAUSE_EXCEPTION 0x00000000 A typed exception clause.
COR_ILEXCEPTION_CLAUSE_FILTER 0x00000001 An exception filter and handler clause.
COR_ILEXCEPTION_CLAUSE_FINALLY 0x00000002 A finally clause.
COR_ILEXCEPTION_CLAUSE_FAULT 0x00000004 A fault clause (a finally clause that is called only when an exception is thrown).

Requirements

Platforms: See System Requirements.

Header: CorDebug.idl, CorDebug.h

Library: CorGuids.lib

.NET Framework Versions: Available since 4.5.2

See also