CorDebugEHClause 结构
[仅在 .NET Framework 4.5.2 及更高版本中受支持]
表示给定的一段中间语言 (IL) 代码的异常处理 (EH) 子句。
语法
typedef struct _CorDebugEHClause {
ULONG32 Flags;
ULONG32 TryOffset;
ULONG32 TryLength;
ULONG32 HandlerOffset;
ULONG32 HandlerLength;
ULONG32 ClassToken;
ULONG32 FilterOffset;
} CorDebugEHClause;
成员
成员 | 说明 |
---|---|
Flags |
描述 EH 子句中的异常信息的位字段。 有关详细信息,请参阅“备注”部分。 |
TryOffset |
方法主体开头的 try 块的偏移量(以字节为单位)。 |
TryLength |
try 块的长度(以字节为单位)。 |
HandlerOffset |
此 try 块的处理程序的位置。 |
HandlerLength |
处理程序代码的大小(以字节为单位)。 |
ClassToken |
基于类型的异常处理程序的元数据标记。 |
FilterOffset |
基于筛选器的异常处理程序的方法主体开头的偏移量(以字节为单位)。 |
备注
CoreDebugEHClause
值的数组由 GetEHClauses 方法返回。
EH 子句信息由 CLI 规范定义。 有关详细信息,请参阅标准 ECMA-355:公共语言基础结构 (CLI),第 6 版。
flags
字段可以包含以下标志。 请注意,它们不会在 CorDebug.idl 或 CorDebug.h 中定义。
标志 | 值 | 说明 |
---|---|---|
COR_ILEXCEPTION_CLAUSE_EXCEPTION |
0x00000000 | 键入的异常子句。 |
COR_ILEXCEPTION_CLAUSE_FILTER |
0x00000001 | 异常筛选器和处理程序子句。 |
COR_ILEXCEPTION_CLAUSE_FINALLY |
0x00000002 | finally 子句。 |
COR_ILEXCEPTION_CLAUSE_FAULT |
0x00000004 | Fault 子句(仅当引发异常时才调用的 finally 子句)。 |
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:4.5.2 及更高版本