title: __finally in C++ Builder 2010 losing scope?
body: <p>Here is a very strange thing which I don't think should happen:</p>
  
  <pre><code>UnicodeString test = "abc";
  
  try
      {
      try
          {
          int a = 123;
          return a;   // This seems to produce a problem with "test" variable scope
          }
      catch (Exception &amp;e)
          {
          // Some exception handler here
          }
      }
  __finally
      {
      // At this point the "test" variable should still be in scope???
      test = "xyz"; // PROBLEM here - test is NULL instead of "abc"! Why?
      }
  </code></pre>
  
  <p>If I remove the <code>return a;</code> in the <code>try-catch</code> block the test variable is still defined. Is there a particular reason why after the above construct the UnicodeString seems to go out of scope? Is it a bug with C++ Builder 2010? I understand that return returns from function but it should still retain variable scope in the <code>__finally</code> block shouldn't it?</p>