Gewusst wie: Bereinigen von Ressourcen mit einem Try…Finally-Block in Visual Basic
Aktualisiert: November 2007
Mithilfe einer Finally-Anweisung innerhalb eines Try-Blocks kann sichergestellt werden, dass zugeordnete Ressourcen freigegeben werden. Der im Finally-Block enthaltene Code wird nach dem Ausnahmebehandlungscode ausgeführt, bevor die Steuerung an die aufrufende Prozedur zurückgegeben wird. Der in einem Finally-Block enthaltene Code wird sogar dann ausgeführt, wenn eine Ausnahme ausgelöst wurde, und auch dann, wenn Sie eine explizite Exit Function- (oder Exit Sub-) Anweisung in einem Catch-Block hinzufügen.
Sofern nicht bestimmte Ausnahmen abgefangen werden müssen, verhält sich die Using-Anweisung wie ein Try…Finally-Block und garantiert die Freigabe von Ressourcen unabhängig davon, wie die Ausführung des Blocks beendet wurde. Dies gilt sogar im Fall einer nicht behandelten Ausnahme. Weitere Informationen finden Sie unter Using-Anweisung (Visual Basic).
So bereinigen Sie Ressourcen mit einer Finally-Anweisung
Platzieren Sie den Code, der unabhängig von Ausnahmen ausgeführt werden soll, im Finally-Block. Im folgenden Codebeispiel wird eine StreamReader-Klasse erstellt und zum Lesen aus einer Datei verwendet.
Dim reader As New System.IO.StreamReader("C:\testfile") Try reader.ReadToEnd() Catch ex As System.IO.IOException MsgBox("Could not read file") Finally 'This command is executed whether or not the file can be read reader.Close() End Try
Siehe auch
Aufgaben
Gewusst wie: Testen von Code mit einem Try...Catch-Block in Visual Basic
Gewusst wie: Überprüfen der inneren Ausnahme einer Ausnahme
Gewusst wie: Freigeben einer Systemressource
Konzepte
Ausnahmebehandlung für Visual Basic 6.0-Benutzer
Referenz
Using-Anweisung (Visual Basic)