title: Try-Catch and Delete[] issue
body: <p>I'm having a bit of a problem with a try-catch situation, here goes the code (it's pretty simple):</p>
  
  <pre><code>struct Something
  {
    int A, B, C;
    Something()
    {
      A = B = C = 0;
    }
    ~Something()
    {
      cout &lt;&lt; "Destructor " &lt;&lt; endl;
    }
  };
  
  int main()
  {
    Something * s = new Something;
  
    //Something * s = new Something[5];
  
    try
    {
      delete[] s;
    }
    catch(exception&amp; e)
    {
      delete s;
    }
    return 0;
  }
  </code></pre>
  
  <p>What I intend to do is to first try to delete the pointer as an array, if it fails, make a simple delete.</p>
  
  <p>So, when I first try it with an array of 'Something's (as in the commented line), itr worked perfectly. But when I try it as it is now, I get a horrible error.</p>
  
  <p>Any ideas?</p>