title: Best practices for catching and re-throwing .NET exceptions
body: <p>What are the best practices to consider when catching exceptions and re-throwing them? I want to make sure that the <code>Exception</code> object's <code>InnerException</code> and stack trace are preserved. Is there a difference between the following code blocks in the way they handle this?</p>
  
  <pre><code>try
  {
      //some code
  }
  catch (Exception ex)
  {
      throw ex;
  }
  </code></pre>
  
  <p>Vs:</p>
  
  <pre><code>try
  {
      //some code
  }
  catch
  {
      throw;
  }
  </code></pre>