jwcolby
jwcolby at colbyconsulting.com
Fri Jul 23 14:51:13 CDT 2010
http://www.jaggersoft.com/pubs/ExceptionHandlingInCSharp.htm
So they work down through this thing and finally declare "it finally works" but where is the catch?
I thought the whole point of a try was to do error handling in a catch?
finally?
One way to solve this problem is to guard the call to reader.Close(). A fourth attempt therefore
might be:
private static char[] ReadSource(string filename)
{
TextReader reader = null;
char[] source;
try
{
FileInfo file = new FileInfo(filename);
int length = (int)file.Length;
source = new char[length];
reader = file.OpenText();
reader.Read(source, 0, length);
}
finally
{
if (reader != null)
{
reader.Close();
}
}
return source;
}
Of course, the guard on reader.Close() isn't in the "ideal" version of ReadSource. But this is a
reasonable version if only because it does, finally, work.
Well.. except that there is no catch.
Sigh!
--
John W. Colby
www.ColbyConsulting.com