Функция, возвращающая исключение вместо броска - PullRequest
0 голосов
/ 25 октября 2018

Это хорошая практика, чтобы определить функцию таким образом, чтобы вместо броска она возвращала исключение?

Например, просто чтобы избежать ранней инициализации объекта исключения, я передаю функцию, которая несет ответственностьпостроить и вернуть исключение, если условие выполнено.

Я определил мой валидатор с этим методом

static <T> Validator<T> validator(Predicate<T> predicate, Function<T, RuntimeException> execGen)

и validate реализация метода, например:

{
  if(!predicate.test(data))
  {
    throw execGen.apply(data);
  }
  // do something else
}
...