Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Além das cláusulas try e catch, o tratamento de exceções CLR suporta uma cláusula finally. A semântica é idêntica ao __finally bloco no tratamento de exceções estruturadas (SEH). Um __finally bloco pode seguir um try ou catch bloco.
Observações
O objetivo do bloco é limpar todos os recursos deixados após a ocorrência da finally exceção. Observe que o finally bloco é sempre executado, mesmo que nenhuma exceção tenha sido lançada. O catch bloco só é executado se uma exceção gerenciada for lançada dentro do bloco associado try .
finally é uma palavra-chave sensível ao contexto; consulte Context-Sensitive Palavras-chave para obter mais informações.
Exemplo
O exemplo a seguir demonstra um bloco simples 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" );
}
}
in catch
MyException
in finally