Во-первых, я категорически не согласен со всеми, кто говорит вам ловить ошибки.Не делай этого.Ошибки должны быть оставлены в покое, чтобы всплыть любой обработчик исключений в вашем приложении.Если ваше приложение делает это, то все, что вам нужно сделать, чтобы получить свидетельство несовместимости, - это grep вашего файла журнала.
Кроме того, не оценивайте код, используя отражение, пока вы не профилируете его и не выясните точнокак долго.Обычно догадки о том, где замедления в конечном итоге являются неправильными.Вы никогда не должны ничего оптимизировать, пока не проведете измерения и не продемонстрируете, что это узкое место.
Копайте код do.something
, декомпилируйте его, если у вас нет исходного кода, и посмотрите, что на самом деле выбрасываетЭто.Возможно, если возникнет исключение, оно может быть заключено в другое исключение.Убедитесь, что все, что выкинуло методом, не съедено (в том числе и вашим собственным логом).