Бросать исключение, а затем распространять или возвращать логическое значение, а затем выбрасывать исключение? - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть служба, которая собирает информацию, а затем, через службу загрузчика данных, данные загружаются в БД. Теперь в загрузчике данных ввод проверяется перед загрузкой данных. Снизу два подхода, какой из них предпочтительнее и должен быть принят в качестве наилучшей практики?

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

Какой правильный путь? Я бы предпочел 2, поскольку здесь можно избежать проверки одного условия. Я использую язык Java 8

1 Ответ

0 голосов
/ 26 апреля 2018

Обычно существует класс Validator, который выполняет проверку и выдает исключение в случае сбоя проверки / условия. Но я видел шаблоны, в которых Validator имеет что-то вроде метода isValid, который возвращает логическое значение. Если вы хотите быстро потерпеть неудачу, используйте первый подход. Но если существует несколько проверок, и вы хотите собрать все сбои проверки для подробного исключения, используйте второй подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...