Dim sr As New System.IO.StreamReader("C:\test.txt", _ System.Text.Encoding.GetEncoding(932)) Dim s As String = sr.ReadToEnd() sr.Close() Console.WriteLine(s) System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\test.txt", System.Text.Encoding.GetEncoding(932)); string s = sr.ReadToEnd(); sr.Close(); Console.WriteLine(s); 上記のコードには問題があります。ReadToEndメソッドに失敗して例外がスローされた場合、Closeメソッドが呼び出されません。Close
![Dispose、Closeが確実に呼び出されるようにする](https://cdn-ak-scissors.b.st-hatena.com/image/square/54930397d6fcadc2c263c68388925324087aff1a/height=288;version=1;width=512/https%3A%2F%2Fdobon.net%2Fs%2Fimg%2Fog%2Fm%2Fvb%2Fdotnet%2Fbeginner%2Fcalldispose.jpg)