При вызове метода через methodInfo.Invoke, если генерируется исключение, оно, похоже, не распространяется до моих блоков catch.
object value;
try
{
value = myMethod.Invoke(null, parameters);//program crashes with uncaught exception
}
catch
{
throw new Exception("Caught!");//never executed
}
Особое исключение, вызываемое этим методом, - это KeyNotFoundException, но это не должно иметь значения, потому что я ловлю все верно?
Конкретное сообщение об ошибке, которое я получаю от Visual Studio:
KeyNotFoundException was unhandled by user code
тогда как обычно в сообщении будет указано
KeyNotFoundException was unhandled
если вызов не был отраженным вызовом.
Я мог бы просто проверить метод, чтобы увидеть, есть ли там ключ, и если нет, вернуть null, но использование обработки исключений кажется предпочтительным. Есть ли способ распространять исключения из отраженного вызова метода?