最後
除了try和catch子句,CLR 例外處理支援finally子句。語意都與__finally在結構化例外處理 (SEH) 封鎖。A __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" );
}
}