try catch (re)throw problem...

L

Lloyd Dupont

I have an object where I do 'special' cleanup in case of exception
my code is somewhat like that:

void Method()
{
try
{
Something();
}
catch
{
SpecialCleanup();
throw;
}
finally
{
NormalCleanUp();
}
}

my problem is that when an exception is thrown VS break into the catch
clause and I have no idea what causes the exception.

I also tried
catch(Exception ex)
{
SpecialCleanup();
throw ex;
}

but the ex.StackTrace is reinitialized and I have no idea of the problem!
any tips on how to to be able to debug that?

for now I wrote:
#if !DEBUG
catch
{
SpecialCleanup();
throw;
}
#endif

but I would like to catch meaningful stack trace at runtime as well....
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top