title: Exceptions not propagating from a reflected method call in c#
body: <p>When calling a method via methodInfo.Invoke, if an exception is thrown it does not seem to propagate up to my catch blocks.</p>
  
  <pre><code>object value;
  try
  {
      value = myMethod.Invoke(null, parameters);//program crashes with uncaught exception
  }
  catch
  {
      throw new Exception("Caught!");//never executed
  }
  </code></pre>
  
  <p>The particular exception this method is raising is KeyNotFoundException, but that shouldn't matter because I'm catching <em>everything</em> right?</p>
  
  <p>The particular error message I get from Visual Studio is </p>
  
  <pre><code>KeyNotFoundException was unhandled by user code
  </code></pre>
  
  <p>whereas normally the message would say </p>
  
  <pre><code>KeyNotFoundException was unhandled
  </code></pre>
  
  <p>if the call was not a reflected invocation.</p>
  
  <p>I could just have the method check to see if they key is in there, and if not return null, but Using exception handling seems preferable. Is there any way to propagate exceptions up from a reflected method call?</p>