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 метода может использовать код операции: