This scheme
Try
SR= New StreamReader(...)
Catch ex As Exception
MsgBox(ex.Message, vbOK, "Error opening File")
GoTo wrapup
End Try
... {do things}
wrapup:
SR.Dispose()
If SR IsNot Nothing Then SR.Close()
If SR.BaseStream IsNot Nothing Then SR.Close()
Any of the three ways of closing the Streamreader-SR gives a warning that SR is used before assignment. Is there a proper way to close something you're not sure is open?
StreamReader implements IDisposable. As such, the cleanest way is to use the Using statement, which will ensure proper closing and disposal when the object goes out of scope.
Using SR As New StreamReader(...)
... {do things}
End Using
In addition, I recommend you cease using "VB6-compaitble" code, such as MsgBox, and move to current VB.NET constructs such as MessageBox.
I'll hold my tongue on GoTo :-)