У меня есть служба, которая собирает информацию, а затем, через службу загрузчика данных, данные загружаются в БД. Теперь в загрузчике данных ввод проверяется перед загрузкой данных. Снизу два подхода, какой из них предпочтительнее и должен быть принят в качестве наилучшей практики?
- Вызывает загрузчик данных, и загрузчик выполняет проверку и отправляет логическое значение как ИСТИНА, если обнаружено, что вход присутствует в БД, ИЛИ ложно, если вход не найден в БД. Затем вызывающая сторона принимает это логическое значение и, если оно равно FALSE, выдает исключение, сообщающее о причине ошибки, в сообщении об ошибке.
-
- Вызывает загрузчик данных, и загрузчик выполняет проверку, и когда значение, если оно не найдено, выдает пользовательское исключение, предоставляющее подробности в сообщении об ошибке. Звонящий в конечном итоге ловит его, оборачивает и перебрасывает. Здесь можно следовать принципу «бросай рано ловить поздно».
Какой правильный путь? Я бы предпочел 2, поскольку здесь можно избежать проверки одного условия. Я использую язык Java 8