Не надо «форсить» ошибку там, где ее нет. Пустой результат — тоже результат. Но бывают и ошибки. Самый лучший пример как и в каких случаях это делается «по-взрослому» это… внезапно… сервер баз данных. Самый простой и очень понятный пример когда ошибка, а когда пустой результат:
Если вы пошлете корректный запрос, например, «SELECT * FROM table WHERE field1=100» но в таблице нет таких записей в которых поле field1=100 сервер вам корректно вернет пустой ответ.
Однако, если вы в этот же сервер пошлете заведомо ошибочный запрос, вроде «SELECT * FROM тут_нет_такой_таблицы WHERE и_поля_тоже_нет='всем буй'» сервер вам вернет ошибку. Точно, также ошибка вам вернется, если на сервере произошел таймаут, дедлок, или что-то подобное.
Примерно, такого поведения пользователь ждет и от вашего приложения. Не надо ставить людей в «когнитивный диссонанс», принцип наименьшего удивления — хороший принцип.