наконец
В дополнение к 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" );
}
}