title: Proper way to rethrow an exception
body: <p>I have the following methods in c#:</p>
  
  <pre><code>void Method1()
  {
      try
      {
          Method2();
      }
      catch(Method2Exception ex)
      {
          //Log error
      }
  }
  
  void Method2()
  {
      if(error)
      {
          throw(new Method2Exception("error"));
      }
  
      //Do something and call method3
      try
      {
          Method3();
      }
      catch(Method3Exception)
      {
          //??
      }
  }
  
  void Method3()
  {
      //Do something
      if(error)
      {
          throw(new Method3Exception("error"));
      }
  }
  </code></pre>
  
  <p>Method3 its gonna be call by different methods and it returns Method3Exception and I need rethrow the exception from Method2 to Method1 but I don't want catch Method3Exception on Method1. what's the best way to do that?</p>
  
  <p>Any suggestions</p>