Должен ли я использовать команду try / catch для проверки отсутствующего ввода? - PullRequest
0 голосов
/ 07 мая 2020

Мое приложение должно отображать все пустые ошибки ввода. Я могу сделать это с помощью if-else для хранения всех ошибок, но, согласно этого сообщения , я должен использовать блок try-catch для проверки требуемого ввода. Как я могу попрактиковаться в использовании try-catch и что лучше всего? Спасибо.

Пример создания пользователя. При использовании if-else код проверки должен быть таким

if(isEmpty(inputUserName)){
  errorList.add("User name is required");
}
if(isEmpty(inputPassword)){
  errorList.add("Password is required");
}
if(isEmpty(inputAnotherRequiredFields)){
  errorList.add("Fields is required");
}
....

1 Ответ

1 голос
/ 07 мая 2020

Исключения предназначены для очень специфических ситуаций c.

  • Если метод вызывается и по какой-то причине не может выполнить свой контракт, он не возвращает нормальный результат, а вместо этого генерирует исключение.
  • Если он может выполнить свою работу (или его задача состоит в том, чтобы найти некоторые особые ситуации, такие как пропущенные значения), он должен нормально вернуться и представить свои результаты как возвращаемое значение.

Итак, я бы увидел причину, по которой ваш фрагмент кода генерирует исключения, только если бы он находился внутри некоторого метода, выполняющего бизнес-логию c (например, bankAccountDetails(...)). Этот метод не может выполнять свою работу, если, например, не указан номер банковского счета, что соответствует критерию «не могу выполнить мой контракт».

Но я бы вернул список ошибок, если бы вы кодировали что-то вроде getParameterErrors(...), потому что, очевидно, это часть работы этого метода - иметь дело с отсутствующими параметрами.

Итак, все зависит от контракта метода, который вы кодируете.

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