title: Catch an Exception thrown by another form
body: <p>I'm trying to do this:</p>
  
  <p>I'm creating another form, which in it's FormClosed method throws an exception, that should be caught by the main form.</p>
  
  <p>Main Form:</p>
  
  <pre><code>try
      {
          frmOptions frm  = new frmOptions();
          frm.ShowDialog();                        
      }
  catch(Exception)
      {
          MessageBox.Show("Exception caught.");
      }
  </code></pre>
  
  <p>frmOptions:</p>
  
  <pre><code>private void frmOptions_FormClosed(object sender, FormClosedEventArgs e)
  {
      throw new Exception();
  }
  </code></pre>
  
  <p>The debugger stops on the exception with this message: </p>
  
  <blockquote>
    <p>Exception was unhandled by user code</p>
  </blockquote>
  
  <p>Why? I'm catching the exception in the owner of the object that created it. Anybody has an idea?</p>