finally
W uzupełnieniu do try i catch klauzule, obsługującej obsługuje wyjątek CLR finally klauzuli.Semantyka są identyczne z __finally zablokować w strukturze wyjątek obsługi (strukturalnej obsługi wyjątków).A __finally można wykonać blok try lub catch bloku.
Uwagi
Celem finally bloku jest oczyszczenie żadnych zasobów po lewej po wystąpieniu wyjątku.Należy zauważyć, że finally bloku jest zawsze wykonywana, nawet jeśli nie wystąpił wyjątek.catch Bloku jest wykonywana tylko, jeśli zarządzanym wyjątku w związanych z nimi try bloku.
finally jest słowem kluczowym uzależnionym od kontekstu; zobacz Słowa kluczowe kontekstowe Aby uzyskać więcej informacji.
Przykład
W poniższym przykładzie pokazano prostą finally bloku:
// 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" );
}
}