OpCodes.Endfinally Поле

Определение

Передает управление из fault или finally предложения блока исключений обратно в обработчик исключений (CLI).

public: static initonly System::Reflection::Emit::OpCode Endfinally;
public static readonly System.Reflection.Emit.OpCode Endfinally;
 staticval mutable Endfinally : System.Reflection.Emit.OpCode
Public Shared ReadOnly Endfinally As OpCode 

Значение поля

Комментарии

В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и Microsoft формат сборки промежуточного языка (MSIL) инструкции, а также краткая сводка по ссылке:

Формат Формат сборки Description
DC endfinally

endfault
finally Заканчивается предложение или fault предложение блока исключений.

Для этой инструкции нет поведения перехода стека.

Endfinally и endfault сигнализирует о завершении finally предложения fault , чтобы стек очистки может продолжаться до вызова обработчика исключений. Инструкция endfinally передает endfault управление обратно в механизм исключений CLI. Затем механизм выполняет поиск следующего finally предложения в цепочке, если защищенный блок был завершен с помощью инструкции по выходу. Если защищенный блок был завершен с исключением, интерфейс командной строки будет искать следующий finally или faultввести обработчик исключений, выбранный во время первой передачи исключений.

Инструкция endfinally может отображаться только лексически в блоке finally . endfilter В отличие от инструкции, не требуется, чтобы блок закончился инструкциейendfinally, и в блоке может быть столько endfinally инструкций, сколько требуется. Эти же ограничения применяются к endfault инструкции и блоку fault .

Управление не может быть передано в finally блок (или fault) за исключением механизма исключения. Управление не может быть передано из finally блока (или fault) за исключением использования инструкции throw или выполнения endfinally инструкции (или endfault). В частности, вы не можете "выпасть" из finally блока (или fault) или выполнить RetLeave инструкцию в блоке finally (или fault).

Обратите внимание, что endfault псевдонимы и инструкции соответствуют одному и endfinally тому же коду opcode.

Следующая Emit перегрузка метода может использовать endfinally (endfault) opcode, а также ILGenerator метод EndExceptionBlock.

Применяется к