OpCodes.Endfilter Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Передает управление из предложения filter
исключения обратно в обработчик исключений CLI.
public: static initonly System::Reflection::Emit::OpCode Endfilter;
public static readonly System.Reflection.Emit.OpCode Endfilter;
staticval mutable Endfilter : System.Reflection.Emit.OpCode
Public Shared ReadOnly Endfilter As OpCode
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки MSIL, а также краткая справочная сводка:
Формат | Формат сборки | Описание |
---|---|---|
FE 11 | endfilter | Предложение end filter для обработки исключений SEH. |
Переходный режим стека в последовательном порядке:
value
помещается в стек.value
выскочил из стека;endfilter
выполняется, а управление передается обработчику исключений.
Value
(который должен иметь тип int32
и является одним из определенных наборов значений) возвращается из предложения filter. Это должен быть один из следующих вариантов:
exception_continue_search
(value
= 0), чтобы продолжить поиск обработчика исключенийexception_execute_handler
(value
= 1), чтобы начать второй этап обработки исключений, на котором выполняются блоки finally, пока не будет найден обработчик, связанный с этим предложением фильтра. При обнаружении выполняется обработчик.
Другие целочисленные значения будут давать неопределенные результаты.
Точка входа фильтра, как показано в таблице исключений метода, должна быть первой инструкцией в блоке кода фильтра. Инструкция endfilter
должна быть последней инструкцией в блоке кода фильтра (следовательно, для любого отдельного блока фильтра может быть только одна endfilter
). После выполнения инструкции endfilter
управление логически передается обратно в механизм обработки исключений CLI.
Элемент управления не может быть передан в блок фильтра, кроме как с помощью механизма исключения. Управление не может быть передано из блока фильтра, кроме как с помощью инструкции throw
или путем выполнения последней endfilter
инструкции. Невозможно внедрить try
блок в filter
блок. Если исключение возникает внутри filter
блока, оно перехватывается и возвращается значение 0 (exception_continue_search
).
Emit Следующая перегрузка endfilter
метода может использовать код операции: