Freigeben über


Gewusst wie: Bereinigen von Ressourcen mit einem Try…Finally-Block in Visual Basic

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 (Visual Basic)

Gewusst wie: Freigeben einer Systemressource (Visual Basic)

Referenz

Using-Anweisung (Visual Basic)

Weitere Ressourcen

Ausnahmebehandlungsaufgaben (Visual Basic)