Наличие метода throwUncheckedException (), возвращающего что-то, позволяет избежать лишней строки в вызывающем методе, для которого требуется возвращаемое значение.
Было ли выброшено исключение непосредственно из метода handle следующим образом:
public RT handle(Object[] params, Throwable e) {
throw new RuntimeException(e);
}
Оператор return не понадобился бы (на самом деле он даже был бы недопустим), потому что компилятор мог бы знать, что любой оператор после броска будет недоступен.
Но так как бросок выполняется в другом методе, и так как возвращаемое значение требуется для метода handle, необходимо добавить возвращаемый элемент statemmt.
Наличие в методе throwUncheckedException () чего-либо позволяет вызову находиться в операторе return.
throwUncheckedException () должно быть что-то близкое к:
public static <T> T throwUncheckedException(Throwable e) {
throw new RuntimeException(e);
return null;
}
ИМХО, тот факт, что это подняло ваш вопрос, показывает, что это слишком загадочно, чтобы быть достойным. Возможно, лучшим способом достижения той же цели было бы что-то вроде этого:
public RT handle(Object[] params, Throwable e) {
throw Exceptions.makeUncheckedException(e);
}