title: Unable to catch a std::runtime_error
body: <p>Maybe I haven't had enough coffee today.  The following program should catch the std::runtime_error and print "i caught the runtime_error", right?</p>
  
  <p>It is not.  This program is not catching the std::runtime_error and is instead printing "why was i unable to catch the runtime_error"?</p>
  
  <p>What am I doing wrong here?  Why am I not catching the std::runtime_error?</p>
  
  <p>This is Clang (see environment info below code).</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;exception&gt;
  
  int main(int argc, const char * argv[])
  {
      try
      {
          throw new std::runtime_error( "a runtime_error was thrown" );
      }
      catch ( const std::runtime_error&amp; e )
      {
          std::cout &lt;&lt; "i caught the runtime_error" &lt;&lt; std::endl;
      }
      catch ( ... )
      {
          std::cout &lt;&lt; "why was i unable to catch the runtime_error?" &lt;&lt; std::endl;
      }
      return 0;
  }
  </code></pre>
  
  <p>Xcode 5.1.1 on OS X 10.9.5</p>
  
  <pre><code>comp:~ usrn$ clang --version
  Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
  Target: x86_64-apple-darwin13.4.0
  Thread model: posix
  comp:~ usern$ 
  </code></pre>