There's a way to rethrow an exception so that you don't lose the stack. There's http://msdn.microsoft.com/en-us/library/system.runtime.exceptionservices.exceptiondispatchinfo.aspx. I'd recommend using that so we don't just lose the stack by rethrowing the exception. Alternatively, we can do something like this:

```C#
if(exContext.Error == ex)
{
     throw;
}
else 
{
    throw exContext.Error;
}
```