title: Is there a difference between "throw" and "throw ex"?
body: <p>There are some posts that asks what the difference between those two are already. <br />(why do I have to even mention this...)</p>
  
  <p>But my question is different in a way that I am calling "throw ex" in another error <em>god-like</em> handling method.</p>
  
  <pre><code>public class Program {
      public static void Main(string[] args) {
          try {
              // something
          } catch (Exception ex) {
              HandleException(ex);
          }
      }
  
      private static void HandleException(Exception ex) {
          if (ex is ThreadAbortException) {
              // ignore then,
              return;
          }
          if (ex is ArgumentOutOfRangeException) { 
              // Log then,
              throw ex;
          }
          if (ex is InvalidOperationException) {
              // Show message then,
              throw ex;
          }
          // and so on.
      }
  }
  </code></pre>
  
  <p>If <code>try &amp; catch</code> were used in the <code>Main</code>, then I would use <code>throw;</code> to rethrow the error.
  But in the above simplied code, all exceptions go through <code>HandleException</code></p>
  
  <p>Does <code>throw ex;</code> has the same effect as calling <code>throw</code> when called inside <code>HandleException</code>?</p>