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....
Marc Gravell - 12 Apr 2007 08:32 GMT
have you tried catch(Exception ex) and then just "throw" (no ex)?
Lloyd Dupont - 12 Apr 2007 15:07 GMT
No, I haven't!
I'll try that tomorrow, thanks!
> have you tried catch(Exception ex) and then just "throw" (no ex)?