title: Cannot catch std::unexpected
body: <p>I wanted to know what header is required to catch  std::unexpected  exception. I am currently doing something like this. I would like the breakpoint of std::unexpected catcher to be hit. I am using VS2012</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;exception&gt;
  
  
  void myfunction () throw (int)
  {
      throw "ABC";    
  }
  
  int main()
  {
  
      try
      {
          myfunction();
      }
      catch(std::exception &amp;f)
      {
         //breakpoint
      }
      catch( std::unexpected &amp;f)
      {
          //breakpoint
      }
  }
  </code></pre>
  
  <p>When i try to build this code I get the error </p>
  
  <p>"Error  2   error C2061: syntax error : identifier 'unexpected' </p>
  
  <p>Am i missing a  header ?</p>
  
  <p><strong>Update :</strong></p>
  
  <p>I realize now that std::unexpected is a function. So from what I understand is that if <code>myfunction</code> throws anything other than an int then std::unexpected method is called which defaults to terminate. So my question now becomes if I add the exception handler <code>catch( ...)</code> to the above code the breakpoint in <code>catch( ...)</code> is called. Which exception is that ? Does this catch std::unexpected exceptions ?</p>