Сценарий:Все защитники исключения RuntimeException/Un-checked, как бы вы справились с этим сценарием?
Для веб-сайта, который требует регистрации на основе идентификатора пользователя, идентификатор пользователя должен быть уникальным. Допустим, пользователь попытался зарегистрироваться с идентификатором пользователя foo, который уже существует (с другими обязательными полями). Теперь, не используя проверенные исключения (API базы данных будет бросать SQLException
для дублирования вставки), мне интересно, как защитники неконтролируемого исключения обрабатывают эту ситуацию и интимные для пользователя, что идентификатор уже выбран?
Предположим, что этот веб-сайт находится на Struts (нет, я не работаю над проектом, я просто понимаю его). Пользователь отправляет заполненную информацию в Struts Action, которая вызывает DAO для вставки новой записи. Таким образом, DAO, в конечном счете, выпустит инструкцию INSERT, которая не удастся. Итак, если Action (вызов DAO) явно не обрабатывает эту ситуацию (метод DAO может просто объявить, что он выбрасывает SQLException
, или метод может поймать SQLException
и бросить исключение бизнес-проверки, такое как DuplicateUserIDExceptoion, которое расширяет исключение), как это можно обрабатывать с помощью неконтролируемое исключение?
В нижней строке. Я читал много статей, в которых говорится, что Java не требует проверенных исключений, поэтому этот сценарий поможет мне лучше понять, надеюсь. Пожалуйста, не указывайте на статьи, поскольку я читал много, много, и я действительно очень смущен. Лучший способ помочь мне - предоставить ответ на вышеупомянутый сценарий.
Примечание. Я понимаю, что любой восстанавливаемый исключительный сценарий должен обрабатываться проверенным исключением (которое я реализую в своих проектах), но я действительно смущен неконтролируемым исключением ТОЛЬКО сторонников. Как вы справляетесь с этим сценарием?
Заранее благодарен.
Пожалуйста, просмотрите мои комментарии, чтобы ответить JB Nizet ... – user1418717