Necessary to close streamwriter on error?

bossplaya

New member
Joined
Sep 5, 2003
Messages
3
Location
Philadelphia, PA
I came across some code on this board which led me to my question. Is it necessary to close an instance of a streamwriter object if an exception arises. For example if an error occured in the below code after the sw was open and the sw is still open, should the sw be closed?

Code:
Private Function SaveToFile() As Boolean
        Try

            Dim bFile As String = Dir(Application.StartupPath & "\Test.txt")
            If bFile.Length > 0 Then Check if the file exists and delete it
                Kill(Application.StartupPath & "\Test.txt")
            End If

            Create the file again or for the first time
            Dim sb As New FileStream(Application.StartupPath & "\Test.txt", FileMode.OpenOrCreate)
            Dim sw As New StreamWriter(sb)
            Dim nCounter As Integer

            loop through the list and save one line at a time
            For nCounter = 0 To List1.Items.Count - 1
                sw.Write(List1.Items.Item(nCounter).ToString & vbCrLf)
            Next
            sw.Close()
            Return True
        Catch ignore errors
            Return False
        End Try

    End Function
 
If the StreamWritter isnt used anywhere else then I would recomend closing it - otherwise it would remain open effectively locking the file till the application was shut down.
 
Back
Top