Something like
try
{
// Do something
}
catch
{
// work failed, clean up code here
}
Rather than the above approach of using the catch block, it would be nicer to use the finally block, something like
bool workSuccessful = false;
try
{
// do some work
workSuccessful = true;
}
finally
{
if(!workSuccessfull)
{
// cleanup code here.
}
}
There is elegance in the latter method and I would certainly recommend that approach, if you cannot use "using". See below for details.
PS: Use this approach only if better alternatives are not available. One of the automatic cleanup approaches available with C# is the using construct.
Something like,
using (TextReader tr = new StreamReader("FileName"))
{
// do my work here.
}
The "using" construct automatically clean up the unmanaged resource (TextReader) once the block has completed execution.
In the event that you cannot use "using", the try-finally approach would be the best way.
No comments:
Post a Comment