title: Error with catching std::runtime_error as std::exception
body: <p>we have a funny problem with try catch and std::runtime_error.
  Can someone explain to me why this is returning "Unknown error" as output ?
  Thanks very much for helping me !</p>
  
  <pre><code>#include "stdafx.h"
  #include &lt;iostream&gt;
  #include &lt;stdexcept&gt;
  
  int magicCode()
  {
      throw std::runtime_error("FunnyError");
  }
  
  int funnyCatch()
  {
      try{
          magicCode();
      } catch (std::exception&amp; e) {
          throw e;
      }
  
  }
  
  int _tmain(int argc, _TCHAR* argv[])
  {
      try
      {
          funnyCatch();
      }
      catch (std::exception&amp; e)
      {
          std::cout &lt;&lt; e.what();
      }
   return 0;
  }
  </code></pre>