Применяются обычные предостережения ... Убедитесь, что вы не оптимизируете преждевременно .Программа для наглядности вместо скорости.Если программа работает слишком медленно, используйте профилировщик, чтобы найти проблему.
Если предположить, что Java и никакие исключения не генерируются, они одинаково быстры.Операция athrow никогда не вызывается, поэтому поиск по таблицам исключений выполняться не будет, и сопоставление классов исключений не требуется.
Если вы выбросите исключение в операторе try содин специальный обработчик исключений, который будет соответствовать исключению, тогда поиск в таблице исключений будет соответствовать определенному классу исключений незначительно быстрее, чем общий класс исключений, потому что он не будет подниматься по иерархии классов, чтобы найти соответствующий класс предков,По сути, я имею в виду, что вы должны сохранять менее 10 инструкций ЦП, а генерируемые исключения должны быть исключительно редкими.
Если вы генерируете множество исключений и имеете несколько блоков catch, ситуация слишком сложна, чтобы сказать, что это будетбыстрее или медленнее поймать единственное исключение, подобное классу предков;это зависит от деталей.
Функция findExceptionBlockInMethod в исключение Каффе. c показывает одну реализацию кода соответствия исключений.