Поделиться через


наконец

В дополнение к try и предложений catch обработка ошибок среда CLR поддерживает предложение finally.Семантика идентична блок __finally в структурной обработке исключений (НЕГО).Блок __finally может следовать за блоком try или catch.

Заметки

Назначение блока finally очистить все ресурсы влево после возникновения исключения.Обратите внимание, что блок finally всегда выполняется даже в том случае, если исключение не было выдано.Блок catch выполняется только если управляемое исключение возникает в блоке try связан.

finally контекст-чувствительное ключевое слово; дополнительные сведения см. в разделе Контекстные ключевые слова (расширения компонентов C++).

Пример

В следующем примере демонстрируется простой блок finally:

// keyword__finally.cpp
// compile with: /clr
using namespace System;

ref class MyException: public System::Exception{};

void ThrowMyException() {
   throw gcnew MyException;
}

int main() {
   try {
      ThrowMyException();
   }
   catch ( MyException^ e ) {
      Console::WriteLine(  "in catch" );
      Console::WriteLine( e->GetType() );
   }
   finally {
      Console::WriteLine(  "in finally" );
   }
}
  

См. также

Другие ресурсы

Обработка исключений (расширения компонентов C++)