я уже искал ответ на этот вопрос, и я нашел следующие предложения:Возвращение Null или выбросить исключение, еще раз
- Если вы всегда ожидали найти значение, то бросьте исключение, если оно отсутствует. Исключение будет означать, что возникла проблема. Если значение может отсутствовать или присутствовать, и оба действительны для логики приложения, то верните нуль.
- Выбрасывать исключение, только если это действительно ошибка. Если ожидается, что поведение объекта не будет существовать, верните нуль.
Но как я должен интерпретировать их в моей (так вскользь) случай: Мой контроллер веб-приложение получает запрос, чтобы показать детали для пользователя с определенным идентификатором. Контроллер запрашивает уровень обслуживания для пользователя, а затем служба возвращает объект, если он найден. Если нет, выдается перенаправление на «местоположение по умолчанию».
Что делать, если кто-то передает недопустимый идентификатор пользователя в URL-адрес запроса? Должен ли я считать его «ожидаемым поведением» и вернуть значение null в контроллер, или, возможно, следует назвать его «проблемой или неожиданным поведением» и, таким образом, вызвать исключение внутри метода службы и уловить внутри контроллера?
Технически это не большая разница, но я хотел бы сделать это правильно, следуя стандартным советам. Спасибо заранее за любые предложения.
EDIT: Я предполагаю, что URL-адреса, сгенерированные приложением, являются действительными и существующими - при нажатии пользователем пользователь должен найти идентификатор certaing. Я хочу знать, как обращаться с ситуацией, когда пользователь пытается получить URL-адрес с неправильным (не существующим) идентификатором пользователя, вручную набрав URL-адрес в адресной строке браузера.