title: Catch Exception, add data, and rethrow it
body: <p>I have the following code:</p>
  
  <pre><code>try
  {
     OnInitialize();
  }
  catch (PageObjectLifecycleException exception)
  {
     exception.OldLifecycleState = CurrentLifecycleState;
     exception.RequestedLifecycleState = LifecycleState.Initialized;
     throw exception;
  }
  </code></pre>
  
  <p>I catch an exception, add some more data to it, and rethrow it. Resharper warns me (correctly) that a rethrow is possibly intended and suggests changing it to:</p>
  
  <pre><code>throw;
  </code></pre>
  
  <p>But I'm wondering: Will this correctly rethrow the <strong>modified</strong> exception or the unmodified original one?</p>
  
  <p><strong>Edit</strong>: In response to the "Try it and see" comments: I am new to C#, comming from C++. In C++ you often find undefined behaviour in corner cases like this and I am interested in whether what I want is really how it officially works.</p>